Connecting Tech Pros Worldwide Forums | Help | Site Map

Specifying a base loading address for a .NET assembly

Emby
Guest
 
Posts: n/a
#1: Jun 15 '06
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



Jesse Houwing
Guest
 
Posts: n/a
#2: Jun 15 '06

re: Specifying a base loading address for a .NET assembly


Emby wrote:[color=blue]
> 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?[/color]

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
Emby
Guest
 
Posts: n/a
#3: Jun 16 '06

re: Specifying a base loading address for a .NET assembly


Thanks Jessie,

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

Cheers


"Jesse Houwing" <jesse.houwing@------.nl> wrote in message
news:OGts2YHkGHA.3848@TK2MSFTNGP04.phx.gbl...[color=blue]
> Emby wrote:[color=green]
>> 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?[/color]
>
> 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[/color]


GhostInAK
Guest
 
Posts: n/a
#4: Jun 16 '06

re: Specifying a base loading address for a .NET assembly


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
[color=blue]
> Thanks Jessie,
>
> Rico has lots of interesting stuff there, but I didn't see anything
> about setting .NET DLL bas addresses.
>
> Cheers
>
> "Jesse Houwing" <jesse.houwing@------.nl> wrote in message
> news:OGts2YHkGHA.3848@TK2MSFTNGP04.phx.gbl...
>[color=green]
>> Emby wrote:
>>[color=darkred]
>>> 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?
>>>[/color]
>> 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
>>[/color][/color]


Closed Thread


Similar .NET Framework bytes