if we install the .Net framework 2.0 on a 64 bits computer, 2 versions of the framework will coexist : a 32 bits version and a 64 bits version;
in Visual Studio 2005, we can specify if we want to target a 64 bits processor, a 32 bits or both:
-on a C# projet, select project properties->build->select "anycpu" if you want the application to be platform neutral
-on a VB.Net project, select project properties->compile->compile advanced options->target cpu->select "anycpu".
If you use the console compiler it is the /Platform (on both compliers) switch.
This option will set a bit in the assembly.
This bit doesn’t exist in previous versions of the assemblies (compiled with previous version of the framework : 1.1 or 1.0) which means that running a 1.1 assembly on a 64 bits processor will start the 32 bits version of the CLR that will run on the Wow 32 ("Wow" means an emulation of "windows on windows" ; by the way, for veteran developers, I think the wow 16 won’t exist anymore on windows 64 bits; ahhh the good old days of NT 3.1 in 93 with just one instance of the wow16).
This means we’ll have to recompile 1.0 or 1.1 version of our assemblies to fully benefit of the 64 bits architecture.
An assembly running in 32 bits mode cannot call an assembly running in 64 bits mode and vice versa
Have fun in this new era.