4

我使用一个项目创建新解决方案,然后将目标平台从“任何CPU”更改为“x86”。添加的这些新项目默认情况下不会生成,并且其目标平台不会遵循全局设置。为什么?!明确设置目标平台时未构建的新项目

看着加不检查,以“构建”配置管理器新项目,他们得到目标平台“任何CPU”,而不是全局设置86。这是为什么发生?我希望新项目也能获得全球定义和定义的x86目标平台..我尝试过的一些东西:

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

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

回答

4

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

当你再添加在以前版本的这个VS2010创建解决方案创建的现有项目,你会得到一个讨厌的鱼龙混杂。该平台组合现在显示三个选项,“x86”,“任何CPU”和“混合平台”。后者将建立所有项目。什么也非常混淆的是,配置名称实际上并不直接影响平台目标设置。

它是可以解决,你可以搜索并与在的.sln“86”代替“任何CPU”,并用文本编辑器的.vcproj文件。最好的办法或许是避免麻烦,让VS2010转换VS2008解决方案,而不是创建一个新的解决方案。 Yucky问题。

+0

谢谢!将尝试seach +替换.sln,但听起来并不理想: - /请注意,我确实让VS2010转换我的VS2008解决方案,并且当我添加新项目时遇到问题 - 不存在VS2008项目。也;我只在VS2008上工作时得到这个 - 没有升级,没有任何事 - 只是改变目标平台并添加新的干净项目。所以它不(仅)似乎是一个VS2010的事情。 – stiank81 2010-05-07 12:33:42

+0

好像我可以通过修改解决方案和项目文件来修复它。不能用“x86”替换所有的“任何CPU”,但是要弄清楚应该做什么是相当直接的。这实际上使它能够对稍后对全局设置所做的更改作出响应。大! :-) – stiank81 2010-05-07 12:48:27

+0

我通过卸载项目并在VS中编辑.csproj文件来修复它。确保使用“AnyCPU”(Any和CPU之间没有引号或空格)而不是x86。在一个案例中,我注意到一个空的PropertyGroup被添加 - 我删除它。 – pbz 2011-09-26 21:32:07

1

步骤:

  • 关闭该项目
  • 用记事本打开
  • 替换64所有86的的csproj文件,保存
  • 重新打开项目和它的作品。