我尝试在 dotnet core 和 dotnet 5 的应用上,右击项目属性,在生成界面勾选首选 32 位的功能,然而在 x64 下没有生成 PE32+ 的应用

这是 .NET Core 以及以上版本不支持的功能,勾选了无效,在 csproj 上添加如下代码也无效

<PropertyGroup Condition="'$(Platform)'=='AnyCPU'">
  <PlatformTarget>AnyCPU</PlatformTarget>
  <Prefer32Bit>true</Prefer32Bit>
</PropertyGroup>

没有什么非常特别的理由,就是不支持而已

更多细节请看

.NET Assembly “Cross-Bitness” Loading – Mihai-Albert.com

“Prefer32Bit” property remains true when PlatformTarget is x64, but checkbox is empty and disabled. · Issue #5933 · dotnet/project-system

Startup Sequence of a .NET Core App – Mihai-Albert.com

c# - ‘Prefer 32-bit’ in Visual Studio Generates 64-bit Code Under Console App (.NET Core) - Stack Overflow

Remove “Prefer 32bit” Property from .NET Core Projects · Issue #5074 · dotnet/project-system

dotnet 5 wpf did not respect “Prefer32Bit” setting · Issue #4872 · dotnet/wpf

WPF 编译为 AnyCPU 和 x86 有什么区别


本文会经常更新,请阅读原文: https://blog.lindexi.com/post/dotnet-core-%E5%92%8C-.NET-5-%E4%B8%8D%E6%94%AF%E6%8C%81-Prefer32Bit-%E9%A6%96%E9%80%89-32-%E4%BD%8D%E7%9A%84%E5%8A%9F%E8%83%BD.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

如果你想持续阅读我的最新博客,请点击 RSS 订阅,推荐使用RSS Stalker订阅博客,或者收藏我的博客导航

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名林德熙(包含链接: https://blog.lindexi.com ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系

微软最具价值专家


无盈利,不卖课,做纯粹的技术博客

以下是广告时间

推荐关注 Edi.Wang 的公众号

欢迎进入 Eleven 老师组建的 .NET 社区

以上广告全是友情推广,无盈利