如何在Visual Studio 2010中将x64(或任何CPU)添加为构建选项(从控制台应用程序到类库)

17

最初,我使用Mass Transit作为我的服务总线创建了一个控制台应用程序。最近,我转而使用NServiceBus,它不需要你创建控制台应用程序,而是需要创建类库。在项目属性中,我只需切换更改设置,将其从控制台应用程序更改为类库,但仅能构建x86的限制仍然有效。

现在,我无法将构建类型更改为任何CPU,尽管它现在是一个控制台应用程序,这应该是有效的。是否有任何方法可以完全将我的应用程序更改为类库,以便我可以运行构建任何CPU选项?我需要创建一个新项目,将文件复制到其中并继续进行吗?还是只需更改项目(.proj)文件中的某些内容即可?

Stack Overflow问题Missing Debug|Any CPU build configuration for projects and defaulting to Debug|x86 on Windows x64提供了关于控制台应用程序仅限于x86的更多上下文信息。


在 VS2010 中,您正在与一个非常基本的愚蠢设计决策作斗争。您添加到解决方案中的每个项目都默认为 x86 平台目标。即使是那种对 EXE 项目选择没有发言权的类库也是如此。只需将设置切换回 AnyCPU 即可。 - Hans Passant
2
@Hans... 不是所有生成EXE的项目都默认为x86,因为微软已经确定与体系结构无关的EXE通常会造成更多的麻烦而不值得。32位应用程序可以访问更多的功能,并且通常比64位应用程序快一点,因此这是默认设置。Beta版本存在一个缺陷,将所有项目默认为x86,但最新版本将类库默认为Any CPU。 - Gerald
2个回答

21
你只需要在配置管理器中添加一个Any CPU的配置。
1)右键单击解决方案,选择“属性” 。
2)选择“配置属性”,然后单击“配置管理器…”。
3)将活动解决方案平台更改为Any CPU。如果没有Any CPU平台,则跳过步骤#4。
4)单击类库下的平台列中的组合框箭头,选择“新建…”。
5)确保“新平台”下选择了“Any CPU”。如果在步骤3中没有Any CPU解决方案平台,则确保选中“创建新解决方案平台”复选框。然后单击“确定”。
6)在类库的“生成”列中选中复选框。
7)关闭配置管理器,并打开类库的属性。
8)为平台选择Any CPU,然后为平台目标选择Any CPU,并保存。(根据之前配置的情况,可能需要进行第8步)。

2
你知道是否有一种方式可以为所有新的控制台程序默认执行此操作吗? - naasking
8
我无法创建 AnyCPU,因为我得到了一个错误,说这个配置已经存在,但是我不能将其选择给控制台应用程序。 - Johnny_D
2
@Johnny_D 取消选中“创建新解决方案平台”复选框对我有用。 - James Esh
1
@Gerald,我想要x64,在第4步中,我在组合框菜单(平台列下)中看不到“新建”项目,因此无法构建64位。有什么解决方法吗? - Prakash M
1
我在使用Visual Studio 2015 Community版中遇到了和EmguCV相同的问题。有两个项目:Emgu.CV.UI和Emgu.CV.World。对于UI,有“新建”选项,但是对于World则缺失。 - Suraksha Ajith

-1

在配置管理器中添加一个 Any CPU 的配置。

  1. 右键单击解决方案,选择属性。

  2. 选择配置属性,然后单击配置管理器。

  3. 将活动解决方案平台更改为 Any CPU。如果没有 Any CPU 平台,请继续执行步骤 4。

  4. 单击类库下的平台列下拉框中的箭头,然后选择新建。

  5. 确保在新平台下选择了 Any CPU。如果在第 3 步中没有 Any CPU 解决方案平台,则确保选中“创建新解决方案平台”复选框。然后单击“确定”。

  6. 选中类库“生成”列中的复选框

  7. 关闭配置管理器,并打开类库的属性

  8. 选择 Any CPU 作为平台,然后选择 Any CPU 作为平台目标,并保存。

根据之前的配置情况,步骤 8 可能是必要的,也可能不必要。


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