使用:Visual Studio 2012 Professional和Ultimate以及所有最新更新
如何正确指定配置和平台以正确构建x86和x64。
Visual Studio,当您第一次创建Winforms应用程序时,会为您提供两个配置,Debug和Release,AnyCPU被定义为平台。
如果您只针对一个平台,那么答案很简单,您可以转到Build | Configuration Manager并选择其中一个平台,然后转到项目属性的构建页面并选择相同的平台(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有太多配置部分和平台部分。也许我只是错过了一些东西。
答案 0 :(得分:16)
对于后代,这是答案。听起来很明显,但不是我,所以...
注意:创建Debug64和Release64是我付出的错误。我不仅要删除解决方案中存在的Debug64和Release64(在Configuration Manager中),而且还必须为每个项目删除自动生成的Debug64和Release64(也在Configuration Manager中,仅在表部分中)。这需要一段时间。
确保您拥有自动生成的调试和发布解决方案配置。
在解决方案平台中添加x86和x64。默认值为Any CPU。
从解决方案配置和平台下拉列表中选择(Debug / Release和x86 / x64)的各种排列。确保项目匹配,他们应该这样做。
进入每个项目(选择项目名称,然后按Alt + Enter)。
在项目属性页面中,在解决方案下拉列表中选择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位版本。
可能有stray / bin / Debug和/ bin / release文件夹,但不会使用它们。
我仍然试图让BuildVersionInc在不同的配置下构建相同的代码时不会增加,但这是一个不同的问题。