load .NET assembly

R

RedLars

How does an executable (managed or unmanaged) load an .NET assembly ?

A dotnet 1.0 application I'm debugging atm seems to (one computer)
load dotnet 2.0 assemblies instead of the specified 1.0 version (all
assembly reference in the vs2002 solution for the application point to
dotnet 1.0). Due to changes in the api between these two dotnet
version the application will not run properly when using an incorrect
version. The computer contains dotnet 1.0 \ 1.1 \ 2.0 \3.0.

Any hints on an utility or article that could shed some light on this
situation ?

Ta,
 
R

RedLars

The .Net Subsystem responsible for this is called Fusion. You can run the
Fusion Log Viewer (fuslogvw.exe) to take a look at what's being loaded, and
why.

There are a number of articles that should popup if you search using the
terms above. A gooding starting point is:http://blogs.msdn.com/junfeng/archive/2004/02/14/72912.aspx

Thanks for the reply.

Fuslogvw.exe looks like an interesting utility.

Since this problem occured I've been a bit curious about the procedure
for an executables for loading .NET assemblies. I mean, there seems to
many possible combinations of events (mananged \ unmanage main
application, strong name, gac, different policy files etc). Does
microsoft have any kind of documentation for this ?
 
C

Chris Mullins [MVP - C#]

R

RedLars

There's tons of documentation on this, some formal, and a signifigant amount
through the MSDN Bloggers. Just hit google with the relevant keywords and
you'll get more information than you can shake a stick at.

The best overall resource I see is:http://blogs.msdn.com/suzcook/archive/tags/Loader+Info/default.aspx

Some of her specific blogs are just excellent:http://blogs.msdn.com/suzcook/archi...sdn.com/suzcook/archive/2003/06/13/57180.aspx

--
Chris Mullins









- Vis sitert tekst -

Thanks for the reply.

Just a quick question. On a WinXP computer with .NET 1.1 and 2.0
installed. When running a c# application compiled with .NET 1.0,
since .NET 1.0 isnt installed on the computer it loads .NET 2.0
assemblies. Why does it pick 2.0? Is the newest version always default
in situations like this?

Btw, this was a good read; http://www.ondotnet.com/pub/a/dotnet/2003/03/17/bindingpolicy.html
 
R

Rory Becker

Just a quick question. On a WinXP computer with .NET 1.1 and 2.0
installed. When running a c# application compiled with .NET 1.0,
since .NET 1.0 isnt installed on the computer it loads .NET 2.0
assemblies. Why does it pick 2.0? Is the newest version always default
in situations like this?

It is my understanding that the latest version of the .Net framework will
be used if version used to compile the app is not present.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top