【问题标题】:Why is compiling as Any CPU producing an x86 exe?为什么编译为任何 CPU 生成 x86 exe?
【发布时间】:2019-01-24 00:37:03
【问题描述】:

我正在尝试在发布模式下将 C# 程序编译为 Any CPU。由于 Any CPU 设置,我希望创建的 exe 为 MSIL processor architecture。但是,它输出的是 x86 版本(我正在使用 dotPeek 程序集浏览器进行检查)。

如果我将它指定为 x64 程序,我将得到一个 x64 程序。当我指定 x86 时也是如此。

由于 Any CPU,我应该获得 MSIL 处理器架构,对吗?为什么没有发生?

【问题讨论】:

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


    【解决方案1】:

    你还需要取消勾选Prefer 32-bit

    Properties -> Build -> Prefer 32-bit
    

    这有点旧,但仍然相关

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

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

    【讨论】:

    • 谢谢。现在它成功生成了 MSIL exe。我会在 3 分钟内接受你的回答,现在还不允许。
    猜你喜欢
    • 2012-05-28
    • 1970-01-01
    • 2010-12-08
    • 1970-01-01
    • 2021-10-29
    • 1970-01-01
    • 1970-01-01
    • 2017-11-05
    • 1970-01-01
    相关资源
    最近更新 更多