C# “目标”;任何CPU“;加上;首选32位“;无论如何,已禁用的将使用32位首选项进行编译

C# “目标”;任何CPU“;加上;首选32位“;无论如何,已禁用的将使用32位首选项进行编译,c#,.net,corflags,C#,.net,Corflags,我将目标设置为“任意CPU”,禁用“首选32位” 我想知道为什么我的进程在64位系统上仍然以32位运行,所以我检查了一下 科尔Flags。它确认我的可执行文件是在启用32BITPREF的情况下编译的 什么会导致这种情况?我检查了项目文件以查看的实际设置,但奇怪的是,它根本没有明确指定 因此,如果标签不存在,VS显然默认为到true,这与: 在.NET4.5和VisualStudio11中,奶酪被移动了。这个 大多数.NET项目的默认值也是AnyCPU,但有超过个 现在对任何CPU都有一个意义

我将目标设置为“任意CPU”,禁用“首选32位”

我想知道为什么我的进程在64位系统上仍然以32位运行,所以我检查了一下 科尔Flags。它确认我的可执行文件是在启用32BITPREF的情况下编译的


什么会导致这种情况?

我检查了项目文件以查看
的实际设置,但奇怪的是,它根本没有明确指定

因此,如果标签不存在,VS显然默认为
true
,这与:

在.NET4.5和VisualStudio11中,奶酪被移动了。这个 大多数.NET项目的默认值也是AnyCPU,但有超过个 现在对任何CPU都有一个意义AnyCPU还有一个子类型, “任何CPU 32位首选”,这是新的默认设置

添加
false
手动解决了该问题

一开始不知道为什么标签不见了。可能该项目是从.Net Framework 4.5之前的版本更新的,在执行项目更新时没有添加VS


但是当标签丢失时不设置“preference 32-bit”复选框似乎是VS的疏忽。

我检查了项目文件以查看实际设置的是什么,但奇怪的是它根本没有明确指定

因此,如果标签不存在,VS显然默认为
true
,这与:

在.NET4.5和VisualStudio11中,奶酪被移动了。这个 大多数.NET项目的默认值也是AnyCPU,但有超过个 现在对任何CPU都有一个意义AnyCPU还有一个子类型, “任何CPU 32位首选”,这是新的默认设置

添加
false
手动解决了该问题

一开始不知道为什么标签不见了。可能该项目是从.Net Framework 4.5之前的版本更新的,在执行项目更新时没有添加VS


但是,当标签丢失时,不设置“首选32位”复选框似乎是VS的疏忽。

您是否在调试和发布时更改了该复选框?@GSerg我已在调试和发布配置中禁用了它,如果这是您的意思的话。我仔细检查并编译了您在上面截图中看到的内容。您在调试和发布时更改了它吗?@GSerg我已在调试和发布配置中禁用了它,如果这是您的意思的话。我仔细检查并编译了您在上面截图中看到的内容。