Basic
1. VS has only x32bit version, no x64 version.
2. DOTNET framework including basic library (system. *), CLR, JIT compiler, etc, have x32 and x64 version. for example, I have a c: \ windows \ Microsoft. net \ framework and a C: \ WINDOWS \ Microsoft. net \ framework64 folder.
3. a dotnet Assembly only contains il before first time running, so at that time, it's not process-specific (x32/x64 ). by default, the platform target is "any CPU. "Remember that our C # Or VB compiles to Il, And that Il is basically processor agnostic. it's the JIT that makes the demo-at the last minute.
4. When a DOTNET assembly is loaded into x32/x64 CLR, the CLR helps you find corresponding dependent modules.
5. that 64-bit process is also having its code JIT compiled to use not the x86 instruction set we're re used to, but the amd64 instruction set. this is important to note: It doesn't matter if you have an AMD or an Intel processor, If you're 64-bit you are using the amd64 struinction set. the short story is-Intel lost. for us, it doesn' t really matter.
6. vs installed on either 32-bit or 64-bit OS can create 32-bit or 64-bit applications, but of course the applications need the corresponding platform to execute.
7. To debug a x64 app on x64 OS, you need vs remote debugger as a must as vs is only x32 app so that it needs a way to debug a x64 app.
More detail, please refer to below two:
1. My blog
2. Scott blog
For further understanding:
2. Reference to a x32 DOTNET assembly for building and then make that app can call corresponding that Assembly x32/x64 version at runtime on x32/x64 OS?