我的理解是.NET应用程序与平台无关,因此纯.NET代码应该在x86或64位机器上运行。除非您的.NET代码调用某些本机代码,否则它依赖于平台。这是真的吗?
答案 0 :(得分:17)
.NET个应用程序可以编译为定位x86,x64或“Both”。通常,如果您依赖于其他平台无法使用的COM控件等,则只针对一个平台。
答案 1 :(得分:9)
您的代码可以编译为完全独立于平台,也可以针对特定平台。标准建议是使库架构中立(即“任何CPU”)并将x86作为可执行文件的目标。默认情况下,Visual Studio 2010使用此方法的原因如下所述:AnyCPU executables are usually more trouble than they're worth:
- 以两种截然不同的模式运行(x64和x86)会增加产品复杂性和测试成本。
- 无论如何,32位往往会更快(一点点)。
- x64中没有某些功能。
- 如果超过4 GB的地址空间有用,那么正确的做法是将仅 x64作为目标,并避免支持两个平台的成本。
醇>
当然,如果您只是定位x86,那么您的代码仍会在x64到WoW64上运行。
答案 2 :(得分:3)
答案 3 :(得分:0)