473,411 Members | 2,184 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,411 software developers and data experts.

dotnet apps running over CSNW

I have found that .NET applications made up from multiple assemblies do not run from file servers if Microsoft Client Service for NetWare is used to access the file server. When you try to do so, you invariably get a System.IO.FileLoadException with an error message such as "Can not access file <assemblyName> because it is being used by another process." where <assemblyName> is the name of the second assembly loaded for your application.

The problem can be reproduced as such:
1. Create a simple .NET app with at least two assemblies. For example, make a .exe windows app as your first assembly, and in it have a reference to a class that resides in a separate class library assembly. In your .exe startup code, simply instantiate a class from the class library (so that the framework will attempt to load the class library .dll at runtime).
2. Copy the resulting .exe and .dll to any location on a NetWare server.
3. Using a workstation that connects to the NetWare server via Client Service for NetWare, execute the .exe.

Curiously, if you use Novell's client to access the server instead of the Microsoft one, then everything works fine. However, in many cases our customers must use the Microsoft client.

Has anybody else experienced this problem and/or found a solution to it?
Jul 21 '05 #1
2 1724
Most of the issues with MCSNW were fixed with Windows 2000 Service Pack 3.

What service pack are you using?

The best thing I can say is that you can trap this error early and suggest
that the user could install the latest service pack.

--- Nick

"Lorin McCaffrey" <Lo************@discussions.microsoft.com> wrote in
message news:BF**********************************@microsof t.com...
I have found that .NET applications made up from multiple assemblies do not run from file servers if Microsoft Client Service for NetWare is used to
access the file server. When you try to do so, you invariably get a
System.IO.FileLoadException with an error message such as "Can not access
file <assemblyName> because it is being used by another process." where
<assemblyName> is the name of the second assembly loaded for your
application.
The problem can be reproduced as such:
1. Create a simple .NET app with at least two assemblies. For example, make a .exe windows app as your first assembly, and in it have a reference
to a class that resides in a separate class library assembly. In your .exe
startup code, simply instantiate a class from the class library (so that the
framework will attempt to load the class library .dll at runtime). 2. Copy the resulting .exe and .dll to any location on a NetWare server.
3. Using a workstation that connects to the NetWare server via Client Service for NetWare, execute the .exe.
Curiously, if you use Novell's client to access the server instead of the Microsoft one, then everything works fine. However, in many cases our
customers must use the Microsoft client.
Has anybody else experienced this problem and/or found a solution to it?

Jul 21 '05 #2
This problem can be reproduced on Windows 2000 SP4, Windows XP Pro SP1, and possibly others.

I am having difficulty catching the exception. Even if these are the only lines in the
executable the exception still does not get caught (where d2192TestLibrary is the name of the second assembly, the class library):

Try
Dim newObject As New d2192TestLibrary.Class1
Catch exp As Exception
MsgBox("Caught the exception: " & exp.Message)
End Try

It does not seem to be a problem with the Fusion loader, since I can force fusion to log everything and it says it is successful in loading the second assembly (and then the FileLoadException still gets thrown somewhere later). However, if you explicitly use System.Reflection.Assembly.LoadFile then it fails with the same FileLoadException and you could catch the exception in this case.

The underlying problem still seems to be that a .NET app composed of multiple assemblies cannot be run from a Netware drive if you use MCSNW, regardless of the workstation OS. Any ideas on a workaround?
"Nick Malik" wrote:
Most of the issues with MCSNW were fixed with Windows 2000 Service Pack 3.

What service pack are you using?

The best thing I can say is that you can trap this error early and suggest
that the user could install the latest service pack.

--- Nick

"Lorin McCaffrey" <Lo************@discussions.microsoft.com> wrote in
message news:BF**********************************@microsof t.com...
I have found that .NET applications made up from multiple assemblies do

not run from file servers if Microsoft Client Service for NetWare is used to
access the file server. When you try to do so, you invariably get a
System.IO.FileLoadException with an error message such as "Can not access
file <assemblyName> because it is being used by another process." where
<assemblyName> is the name of the second assembly loaded for your
application.

The problem can be reproduced as such:
1. Create a simple .NET app with at least two assemblies. For example,

make a .exe windows app as your first assembly, and in it have a reference
to a class that resides in a separate class library assembly. In your .exe
startup code, simply instantiate a class from the class library (so that the
framework will attempt to load the class library .dll at runtime).
2. Copy the resulting .exe and .dll to any location on a NetWare server.
3. Using a workstation that connects to the NetWare server via Client

Service for NetWare, execute the .exe.

Curiously, if you use Novell's client to access the server instead of the

Microsoft one, then everything works fine. However, in many cases our
customers must use the Microsoft client.

Has anybody else experienced this problem and/or found a solution to it?


Jul 21 '05 #3

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

10
by: Darren | last post by:
OK, I'm trying to understand the need for this. If I understand correctly without this anyone can reverse engineer and obtain the source code of my application - is this correct? And this tool will...
40
by: Eitan | last post by:
Hello, I know Java-Applet (written for JBuilder). I would like to know about dotnet technology, pros and cons in comparation to Java-Applet technololgy. Can I write a program in dotnet, like...
3
by: Thomas | last post by:
Hi, Some quick background: Most of my experience with CGI has been with Perl. We'd write perl scripts that shared custom modules where we'd put all of our utility functions and OO code that...
6
by: GG | last post by:
Currently we have clientMail.dll in dot net. All the dot net exes use it to send e-mail. However, the above will not work with mcafee 8 unless adding into the exceptions all the apps exe. I would...
0
by: Andy | last post by:
Hey All, I'm a beginner with VB.Dotnet Deployment and I'm a little confused about some very basic deployment issues . . . I've now created some core assemblies that will be used throughout all...
3
by: Geoff | last post by:
I need to keep a few VB6 tcpClients active, but have them talk to a dotNet tcpServer/tcpListener. The "Server"/Listener is running as a Plugin, and needs to respond to "outside requests". The...
2
by: MR | last post by:
i am looking into how to pass information between two applications. one is a java app (not java.net) and the other is dotNet based v1.1 (c#). both apps will probably run on the same machine. i...
9
by: Jim | last post by:
With .net having been around for a while now, does anyone know what the uptake of major software houses is in using .net for Windows Application development? e.g. have the likes of Adobe, MS,...
3
by: Steve | last post by:
Hi, I'm a developer who, in the mid-nineties, switched from programming on minicomputers to PCs. Although an experienced C developer at the time, VB seemed the most logical choice for many...
6
by: Mark | last post by:
Hi, We are having a debate on DotNet and Java. As a beginner I do not have much experience on DotNet and Java. Are there any major advantage of using DotNet over Java? Thanks for any help I...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
0
BarryA
by: BarryA | last post by:
What are the essential steps and strategies outlined in the Data Structures and Algorithms (DSA) roadmap for aspiring data scientists? How can individuals effectively utilize this roadmap to progress...
0
by: Hystou | last post by:
There are some requirements for setting up RAID: 1. The motherboard and BIOS support RAID configuration. 2. The motherboard has 2 or more available SATA protocol SSD/HDD slots (including MSATA, M.2...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
jinu1996
by: jinu1996 | last post by:
In today's digital age, having a compelling online presence is paramount for businesses aiming to thrive in a competitive landscape. At the heart of this digital strategy lies an intricately woven...
0
by: Hystou | last post by:
Overview: Windows 11 and 10 have less user interface control over operating system update behaviour than previous versions of Windows. In Windows 11 and 10, there is no way to turn off the Windows...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.