我试图将C#程序编译为处于释放模式的任何CPU。由于任何CPU设置,我期望正在创建的exe为MSIL processor architecture。但是,它改为输出一个x86(我正在使用dotPeek程序集浏览器进行检查)。
如果我将其指定为x64程序,则将获得x64程序。同样,当我指定x86时。
由于任何CPU对,我应该获得MSIL处理器体系结构?为什么没有发生?
答案 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位首选”应用程序 运行成功。