Specifying a base loading address for a .NET assembly

E

Emby

I was wondering if anyone specifies a base loading address for .NET
Libraries (DLL projects). This can be done on the Advanced Compiler Settings
dialog, accessed from the Compile page of Project properties in VB.NET 2005
projects.

The default is &H11000000, so if you have several DLLs loading, they will
all try to load at that address. The first may succeed, but all others will
fail, and, as I understand it, the loader will have to rebase the dll
on-the-fly (at least that's how it used to work ;-)

The down side is a slower load (no app needs that), and traditionally, it
can also be harder to debug in the event of a crash. Also, is there the
equivalent of a "map file" for .NET apps? Or is that obsolete with the event
of JIT compilation?

I really don't know how much of this "old experience" applies to .NET apps -
can anyone straighten me out?

Thanks
 
J

Jesse Houwing

Emby said:
I was wondering if anyone specifies a base loading address for .NET
Libraries (DLL projects). This can be done on the Advanced Compiler Settings
dialog, accessed from the Compile page of Project properties in VB.NET 2005
projects.

The default is &H11000000, so if you have several DLLs loading, they will
all try to load at that address. The first may succeed, but all others will
fail, and, as I understand it, the loader will have to rebase the dll
on-the-fly (at least that's how it used to work ;-)

The down side is a slower load (no app needs that), and traditionally, it
can also be harder to debug in the event of a crash. Also, is there the
equivalent of a "map file" for .NET apps? Or is that obsolete with the event
of JIT compilation?

I really don't know how much of this "old experience" applies to .NET apps -
can anyone straighten me out?

Rico Mariani seems to be the expert on this topic. You can find his blog
here:

http://blogs.msdn.com/RicoM/

He has done quite a few posts on similar subjects so you might be able
to get what you want from there.

Jesse Houwing
 
E

Emby

Thanks Jessie,

Rico has lots of interesting stuff there, but I didn't see anything about
setting .NET DLL bas addresses.

Cheers
 
G

GhostInAK

Hello Emby,

It doesn't answer your question.. but an interesting tid-bit: It seems that
under Vista ALL dlls will be dynamicly rebased by the OS (with some exceptions
and some ability to manage the exception list).

-Boo
 

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