明确设置目标平台时未构建的新项目

时间:2010-05-07 10:26:57

标签: visual-studio visual-studio-2008 visual-studio-2010 target-platform

我用一个项目创建一个新的解决方案,然后将目标平台从“Any CPU”更改为“x86”。在此之后添加的新项目默认情况下不会生成,并且其目标平台不遵循全局设置。为什么?!

查看配置管理器添加的新项目未检查到“Build”,并且它们获得目标平台“Any CPU”而不是全局设置的x86。为什么会这样?我希望新项目也可以获得全局设置和定义的x86目标平台。我尝试过的一些事情:

  • 将全局平台切换回任何CPU,然后再切换到x86。没有变化..
  • 明确为新项目选择平台。 x86在列表中不可用,当我说<New..>并尝试添加它时,我不允许作为“ ..已经存在同名的解决方案平台。”。< / LI>
  • 在新项目的构建属性上,我无法在“配置”部分更改平台,但我可以在“常规”部分中将“平台目标”设置为x86。然而,目前尚不清楚这是否真的有所作为,如果我稍后在全球范围内更改目标平台,它就不会响应。

最初我认为这是将我的解决方案从VS2008转换为VS2010的问题,但这个问题适用于两个地方。即当我在VS2008中创建解决方案并且只停留在VS2008中时,我仍然遇到问题。

2 个答案:

答案 0 :(得分:4)

是的,这是VS2010的一个非常接近突破的变化,有点乱。 2010年创建的新解决方案将有两个配置,“Debug | x86”和“Release | x86”。这与以前版本创建的解决方案不同,“Debug | Any CPU”和“Release | Any CPU”是默认值。

当您将以前版本中创建的现有项目添加到此VS2010创建的解决方案中时,您将获得一个讨厌的混合包。平台组合现在显示三个选项,“x86”,“任何CPU”和“混合平台”。后者将构建所有项目。什么也是非常令人困惑的是,配置名称实际上并不直接影响平台目标设置。

可修复,您可以使用文本编辑器在.sln和.vcproj文件中搜索并替换“任何CPU”和“x86”。最好的方法可能是避免麻烦,让VS2010转换VS2008解决方案,而不是创建一个新的解决方案。令人讨厌的问题。

答案 1 :(得分:1)

步骤:

  • 关闭项目
  • 在记事本中打开csproj文件
  • 用x64替换所有x86,保存
  • 重新打开项目并且有效。