为什么编译为任何产生x86 exe的CPU?

时间:2019-01-24 00:37:03

标签: c# .net compilation x86 64-bit

我试图将C#程序编译为处于释放模式的任何CPU。由于任何CPU设置,我期望正在创建的exe为MSIL processor architecture。但是,它改为输出一个x86(我正在使用dotPeek程序集浏览器进行检查)。

如果我将其指定为x64程序,则将获得x64程序。同样,当我指定x86时。

由于任何CPU对,我应该获得MSIL处理器体系结构?为什么没有发生?

1 个答案:

答案 0 :(得分:5)

您还需要取消选中Prefer 32-bit

Properties -> Build -> Prefer 32-bit

这有点老,但仍然有意义

What AnyCPU Really Means As Of .NET 4.5 and Visual Studio 11

  

那么,“首选任何32位CPU”和“ x86”之间的区别是   仅此:编译为x86的.NET应用程序将无法在   ARM Windows系统,但将使用“任何CPU 32位首选”应用程序   运行成功。