Hi all,
I've found a fair bit of information related to how a .NET assembly should load based on the flags set in the assembly header. Pages such as http://blogs.msdn.com/b/joshwil/archive/2005/05/06/415191.aspx seem to suggest that if you have a header as follows
PE : PE32
ILONLY : 1
32BIT : 0
It has been compiled as "AnyCPU" and I can expect it to load with the 32bit CLR on 32 bit platforms and with the 64bit CLR on 64bit platforms. This is exactly the behaviour I expected and wanted.
Unfortunately that doesn't appear to be the case on my windows 7 64bit machine. The assembly loads up in a 32 bit address space. I know I should be able to force the issue at compile time by building with x64 but why is it doing the wrong thing in the first place?
Has anyone else had this issue? Is it some registry or environment problem that I've yet to stumble upon?
Many Thanks