4

我用一个项目创建了一个新的解决方案,然后将目标平台从“任何 CPU”更改为“x86”。在此之后添加的新项目默认不会构建,并且它们的目标平台不遵循全局设置。为什么?!

查看配置管理器中添加的新项目未选中“构建”,它们获得目标平台“任何 CPU”而不是全局设置的 x86。为什么会这样?我希望新项目也能获得全局设置和定义的 x86 目标平台。我尝试过的一些事情:

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

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

4

2 回答 2

4

是的,这在 VS2010 中几乎是一个突破性的变化,而且有点混乱。2010 年创建的新解决方案将有两种配置,“Debug|x86”和“Release|x86”。与以前版本创建的解决方案不同,“Debug|Any CPU”和“Release|Any CPU”是默认设置。

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

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

于 2010-05-07T12:19:41.147 回答
1

脚步:

  • 关闭项目
  • 在记事本中打开 csproj 文件
  • 用 x64 替换所有 x86,保存
  • 重新打开项目,它就可以工作了。
于 2012-01-18T02:13:43.683 回答