3

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

4

3 回答 3

8

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

它将作为操作系统的本机位数运行。

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

于 2013-02-15T18:50:38.373 回答
5

您正在创建一个 .Net 可执行文件,它将在 32 位或 64 位上下文中的 32 位或 64 位机器上运行。如果您使用的是非托管资源,这实际上非常重要!

例如,如果您正在为 AnyCPU 编译但使用 32 位 DLL,您的应用程序将在 64 位机器上崩溃

于 2013-02-15T18:51:21.093 回答
3

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

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

于 2013-02-15T19:23:10.987 回答