| Hi Willy,
|
| That's right, it are managed assemblies. I read this in an article of msdn
| magazine about about improving application startup. The command in the
| dos-prompt came from
I know this article, but don't expect too much from rebasing at this level,
the gains are marginal to non existant, only extremely large assemblies will
take some advantage of it.
| But you're saying that managed assemblies should never be rebased. Even if
| you have over 50 dll's all on the same base-address.
Managed assemblies are loaded by the CLR's class loader not by the OS
loader, and it's the JIT compiler who knows exactly how maps the jitted code
into a private process heap.
| What is the use of the rebase tool then (since it's in the .net framework
| sdk). Only for ngen-ed assemblies? Because I thought that the ngen would take
| the base-address from the jit-assemblies.
Yes, it's only valid for ngen'd DLL's (take a look at the framework
assemblies, they are all rebased).
| But then again I couldn't change the base-address via the project properties
| (build -> advanvced).
Don't know about this VS option, but rebase.exe (or editbin.exe) works for
me, note that you should use dumpbin.exe to watch the base address (see:
OPTIONAL HEADER VALUES - image base) of a PE file.
Willy.
ike - 28 Mar 2006 21:59 GMT
Hi Willy,
Thanks for all the info.
Best regards,
Ike