Visual Studio 2010/2012:32位还是64位?

3

我正在使用C#。如果我在Visual Studio 2010或2012中创建一个解决方案,我会得到一个默认配置Debug/Release和平台“Any CPU”。那么我是在创建32位还是64位应用程序呢?


"Any CPU"会根据您所运行的平台而以32位或64位运行。 - Joachim Isaksson
2
我不清楚为什么这个问题会被投票踩得这么多。它基于一个误解...但是这个网站上的任何问题都基于对某个领域的知识缺乏。 - Beska
通常情况下,您应该为所有类库程序集选择“AnyCPU”,然后针对单个可执行程序集决定是否要将其设置为32位、64位或AnyCPU。例外情况是使用32位或64位非托管DLL的任何类库,这些必须相应地进行设置。我们隔离所有这样的程序集。 - Matthew Watson
3个回答

8
“任何 CPU” 意味着它能在任何 CPU 上运行,它将作为操作系统本机位数运行。如果您选择“优先使用 32 位”,它将在 x86-64 平台上作为 x86 运行(但仍可在 ARM 上运行)。

5

3

需要注意的是,配置中的平台设置并不会在 C# 项目中选择实际的平台。这种混淆源于 C++ 被集成到 Visual Studio 中,而这个设置在该 IDE 中确实很重要。

相关设置由项目属性控制。在“项目”+“属性”、“生成”选项卡、“平台目标”组合框中进行控制。对于 VS2010 项目,默认为 x86,“偏好 32 位”选项在 VS2012 项目中被勾选。您可以选择 AnyCPU 并取消 EXE 项目的“偏好 32 位”选项以获取 64 位进程。这意味着此设置不一定与您的配置的平台设置相匹配。这已经造成了极大的困惑。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接