0

我在 64 位机器上的 Visual Studio 2013 中创建了一个全新的 .NET 4.5 WinForm 项目。编译后,我在 .exe 中运行 corflags 并设置了 32BIT 标志。

Version   : v4.0.30319
CLR Header: 2.5
PE        : PE32
CorFlags  : 131075
ILONLY    : 1
32BIT     : 1
Signed    : 0

当我查看任务管理器时,它也被标记为 32 位进程。

我没有添加任何可能会强制它以 32 位模式运行的引用。我查看了项目文件,也没有发现任何可疑之处。

我可以corflags /32BIT-在程序集上运行,它作为 64 位进程运行得很好。

什么可能导致它编译为 32 位可执行文件?

4

1 回答 1

2

在项目 Property Pages 中有一个名为“Build”(A)的页面。

在“平台目标”字段 (B) 下,是“首选 32 位”字段 (C)。

您可以切换它以从 corflags 中删除 32 位标志。

首选 32 位 (图片来自 VS 2015)

于 2016-06-01T13:24:55.100 回答