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

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (1)
  • 关注 (0)
  • 查看 (37)

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

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

Visual Studio,当你第一次创建一个Winforms应用程序时,给你两种配置,调试和发布,AnyCPU定义为平台。

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

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

由于VS配置管理器在顶部有配置和平台,然后在项目级另一个配置和平台上有两个下拉列表,我做了以下操作:

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

我创建了两个新配置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。这花了一段时间。

  1. 确保你拥有自动生成的调试和发布解决方案配置。
  2. 在解决方案平台中添加x86和x64。默认值是Any CPU。
  3. 从解决方案配置和平台下拉列表中选择(Debug / Release和x86 / x64)的各种排列。确保项目匹配,他们应该。
  4. 进入每个项目(选择项目名称,然后按Alt + Enter)。
  5. 在项目属性页面中,选择解决方案下拉列表中调试/发布和x86 / x64的各种排列。确保目标处理器设置正确(应该是的,但是我发现它们不是的时候,可能是因为我以前的尝试)。另外,设置输出目录。这应该是好的,并自动(/ bin / x86 /调试等)。如果没有,请修复。

微软在工具栏中没有解决方案平台下拉菜单,所以如果你想改变解决方案平台,那么你必须去Build | 配置管理器并选择适当的解决方案平台。您可以从Build |中选择解决方案配置 配置管理器(Visual Studio将自动更新工具栏下拉列表中选定的解决方案配置),或者直接在Visual Studio下拉菜单中选择新的解决方案配置。

建设该项目将负责其余部分。

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

  1. 可能有迷路/ bin / Debug和/ bin / release文件夹,但它们不会被使用。
  2. 我仍然试图让BuildVersionInc在通过不同配置构建相同代码时不增加,但这是一个不同的问题。

扫码关注云+社区