Will .NET EXE target x86 work on AMD chips?
If I am targeting x86 for my .NET application, will it work correctly on AMD chips? I know that it will work with Intel chips, and that Vista 64 has the ability to run x86 applications in a special mode, but I don't know how many of them are hardware, or how much of an OS.
I tested it on Vista 64 with an Intel chip and it works great, but I don't have an AMD machine to test.
Yes - they are compatible with binaries, otherwise they will not be swapped out :)
If you don't mean IA64 and AMD64, these are incompatible architectures.
Yes it will work, however it will run like a 32-bit process versus 64-bit. The abstraction layer is done at the OS level by introducing a subsystem. It's called Wow64 (Windows on Windows 64). This allows 32-bit processes to run natively on a 64-bit machine.
It will only be destroyed if you do a low-level kernel integration. There is probably something you are not doing with the .Net application.
It works fine
This has nothing to do with Intel or AMD, it works on all brands of the same hardware architecture. 32-bit applications can run on 32-bit OS and 64-bit OS. 64-bit applications only run on 64-bit OS (and on 64-bit hardware).
The key here is that .NET code targets the CLR, so all CPU level issues should be covered there ... I don't know for sure, but I believe there are multiple versions of the CLR for x86 / 64.