【问题标题】:Visual Studio 2013 shows empty project properties when VS2008 is used as toolsetVS2008 用作工具集时,Visual Studio 2013 显示空项目属性
【发布时间】:2015-05-31 23:04:16
【问题描述】:

Visual Studio在选择使用VS90作为其工具集时显示C ++项目的项目属性。

当我在受影响的解决方案中右键单击项目并从上下文菜单中选择“属性”时,属性对话框显示为空:

我记得它曾经显示正常的编译器选项,即使对于旧工具集也是如此。什么可能导致这种行为?

【问题讨论】:

  • 你可以看看这个项目的 .vcxproj 文件。检查文件中是否有内容以及所有 XML 标记是否都有结束标记。
  • 项目文件似乎是正确的,VS 似乎也正确加载了它,因为解决方案资源管理器显示了属于该项目的文件。构建不同的项目配置也可以。
  • 你有没有想过这个问题?在我尝试编辑“所有平台”的属性后,这开始发生在我身上
  • @Assimilater 并非如此,该错误似乎对所有项目都是全局性的。 VS 2012 和 2013 都突然无法与 9.0 工具集相处(他们以前做过)。此后,一旦我添加了 9.0 工具集,即使是新创建的项目也会出现同样的错误。在我发布这个问题后它从来没有工作过(我想我什至尝试重新安装它们,但我不确定)。不过,我已经开始使用 2013 工具集进行编译。

标签: c++ visual-studio-2013 visual-studio-2008 project


【解决方案1】:

我能够通过确保 MSBuild 中的 VCTargetsPath(以及 VS 2013 属性的相应 VCTargetsPath12)包含尾部反斜杠来修复它。

通过使用 sysinternals 的 Process Monitor 监视 devenv.exe 进程发现了这一点,并注意到由于缺少 .添加后,项目属性开始正确显示。

【讨论】:

  • 唉,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\4.0 中的值在我的机器上是正确的。
  • +1 感谢分享,您添加尾随反斜杠的解决方案对我也很有效。很长一段时间以来,我一直试图为这个相当奇怪的问题找到解决方案,但没有成功。
【解决方案2】:

我发现了一个类似的问题 - 如果我在 Visual Studio 中选择了一个特定的构建配置,项目属性对话框将永久空白,并且无法返回到工作配置。

我最终找到的解决方案是一个 devenv 命令行选项:devenv /resetuserdata

【讨论】:

    【解决方案3】:

    我有一个特定平台的特定配置,它在 Visual Studio 2010 和 2013 中生成了一个空白属性页面。在尝试了这里的解决方案后没有运气,我最终发现根本原因是不正确的 <Platform>.vcxproj 文件。在下面的屏幕截图中,您可以看到之前(左)和之后(右)。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-09-05
      • 1970-01-01
      • 2015-09-27
      • 1970-01-01
      • 2016-04-26
      相关资源
      最近更新 更多