2013-02-15 129 views
3

我正在使用C#。如果我在Visual Studio 2010或2012中创建解决方案,我将获得默认配置调试/发布和平台“任何CPU”。我是在创建一个32位还是64位的应用程序?Visual Studio 2010/2012:32位或64位?

+0

“任何CPU”将根据您运行的平台以32位或64位运行。 – 2013-02-15 18:50:37

+2

我不清楚为什么这个问题得到了非常多的投票。这是基于一种误解......但本网站上的任何问题都基于缺乏某个领域或某个领域的知识。 – Beska 2013-02-15 18:53:26

+0

通常,您应该为所有类库程序集选择“AnyCPU”,然后决定是否希望它们是32位,64位或AnyCPU的FOR INDIVIDUAL EXCUTABLE程序集。例外是任何使用32位或64位非托管DLL的类库,然后必须对其进行适当设置。我们隔离所有这些程序集。 – 2013-02-15 19:25:56

回答

8

“任何CPU”的意思就是它说的是:任何 CPU。

它将作为OS的本地位运行。

如果您检查Prefer 32-bit,它将在x86-64平台上作为x86运行。
(但它仍然可以作为ARM运行)

3

您必须注意,配置的平台设置实际上并未在C#项目中选择平台。这种混淆源于C++被集成在Visual Studio中,其中设置确实是的问题。

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