CLR on 32/64bit Windows

  • 大多数情况下,如果程序集文件只包含类型安全的托管代码,则代码在32位和64位Windows上都能正常工作。
    编译好的托管EXE/DLL文件由主机上的.NET Framework处理执行。
  • 少数情况下,开发人员可以利用C#编译器的/platform选项设置目标平台,该选项默认参数是anycpu,表示生成的程序集可以在32位Windows、64位Windows或者32位Windows RT的ARM机器上使用;将其设置为x86或x64可以指定其只能在某(些)类CPU架构的机器上使用。
  • 64位Windows版本可以通过WoW64(Windows on Windows64)技术运行32位Windows应用程序。
/platform 生成的托管模块 x86 Windows x64 Windows ARM Windows RT
anycpu PE32/any as 32bit as 64bit as 32bit
anycpu32bitpreferred PE32/any as 32bit as Wow64 as 32bit
x86 PE32/x86 as 32bit as WoW64 can't work
x64 PE32+/x64 can't work as 64bit can't work
ARM PE32/ARM can't work can't work as 32bit

你可能感兴趣的:(CLR on 32/64bit Windows)