Visual Studio:如何正确构建和指定x64和x86的配置和平台

使用:Visual Studio 2012 Professional和Ultimate以及所有最新更新

如何正确指定配置和平台以正确构建x86和x64。

Visual Studio,当您第一次创建Winforms应用程序时,会为您提供两个配置,Debug和Release,AnyCPU定义为平台。

如果您只针对一个平台,那么答案很简单,您可以转到Build | 配置管理器并选择其中一个平台,然后转到项目属性的构建页面并选择相同的平台(x86或x64)并瞧! 你结束了(说你想要x86)

/bin/x86/Debug /bin/x86/Release 

我有一个应用程序和多个依赖项目(DLL程序集)的解决方案。

由于VS Configuration Manager顶部有两个下拉列表,配置和平台,然后在项目级别有另一个配置和平台,我执行了以下操作:

(在进一步打字之前,我认为整个设置很糟糕,但……)

我使用最顶层的下拉列表和为平台选择的混合平台创建了两个新配置Debug64和Release64。

我依次选择了四种主要解决方案配置中的每一种,然后将项目级别配置和项目级别平台设置为匹配,因此:

 Debug64 === Debug64, x64 Release64 === Release64, x64 Debug === Debug, x86 Release === Release, x86 

然后我进入项目属性(Alt + Enter)构建页面,忽略平台并依次选择每个配置,然后设置目标处理器以匹配。 我将输出更改为以下内容:

 Debug64: /bin/x64/Debug Release64: /bin/x64/Release Debug: /bin/x86/Debug Release: /bin/x86/Release 

默认情况下,Visual Studio使用顶级平台设置文件夹和配置名称以设置输出的最后部分。 如果我保存并关闭项目属性,那么一切似乎都很好。 我可以构建,并使用适当的文件夹。

当我在Visual Studio工具栏上切换解决方案配置时,问题就来了。 项目属性构建页面默认恢复到它想要的状态,即比如/ bin / x64 / Debug64用于调试和类似的发布。

是什么促使我写这个问题是设计师感到困惑,找不到合适的库。

我想从Visual Studio解决方案配置下拉列表中选择我想要的目标(Debug x64,Release x64,Debug x86,Release x86)并进行构建。

我怎么做? 我究竟做错了什么?

仅创建两个解决方案配置(调试和发布)不起作用,因为没有解决方案平台下拉列表,然后针对所有子项目。 在我看来,Visual Studio有太多配置部分和平台部分。 也许我只是错过了什么。

对于后代,这是答案。 听起来很明显,但不是我,所以……

注意:创建Debug64和Release64是我付出的错误。 我不仅要删除解决方案中存在的Debug64和Release64(在Configuration Manager中),而且还必须为每个项目删除自动生成的Debug64和Release64(也在Configuration Manager中,仅在表部分中)。 这需要一段时间。

  1. 确保您具有自动生成的调试和发布解决方案配置。

  2. 在解决方案平台中添加x86和x64。 默认值为Any CPU。

  3. 从解决方案配置和平台下拉列表中选择(Debug / Release和x86 / x64)的各种排列。 确保项目匹配,他们应该。

  4. 进入每个项目(选择项目名称,然后按Alt + Enter)。

  5. 在项目属性页面中,选择解决方案下拉列表中Debug / Release和x86 / x64的各种排列。 确保目标处理器设置正确(它应该是,但我发现它们不是时的实例,可能是因为我以前的尝试)。 另外,设置输出目录。 这应该是好的和自动的(/ bin / x86 / Debug等)。 如果没有,请修复。

Microsoft在工具栏中没有解决方案平台下拉列表,因此如果要更改解决方案平台,则必须转到Build | Configuration Manager并选择适当的解决方案平台。 您可以从Build |中选择解决方案配置 Configuration Manager(Visual Studio将自动更新工具栏下拉列表中的所选解决方案配置)或只是在Visual Studio下拉列表中选择新的解决方案配置。

建设项目将负责其余的工作。

构建注释1. Visual Studio设计器需要x86版本的用户控件才能正确显示。 这在开始时并不明显,但现在。 Visual Studio安装到“C:\ Program Files(x86)”文件夹而不是“C:\ Program Files”文件夹,使Visual Studio成为32位应用程序,而不是64位应用程序,因此能够“使用” “设计师只有32位版本。

  1. 可能有stray / bin / Debug和/ bin / release文件夹,但不会使用它们。

  2. 我仍然试图让BuildVersionInc在不同的配置下构建相同的代码时不会增加,但这是一个不同的问题。