4

我有一个问题几乎与这篇文章具有相同的解剖结构:

为什么 MSBuild 在 C:\ 中查找 Microsoft.Cpp.Default.props 而不是 c:\Program Files (x86)\MSBuild?(错误 MSB4019)

添加注册表(根据 Peter Kahn 在另一篇文章中的建议)似乎没有帮助,即使它以前丢失了。我确实将所有文件都放在正确的目录中,即

c:\Program Files (X86)\MSBuild\Microsoft.Cpp\v4.0\V110

看,如果我选择以下作为 MSBuildExtensionsPath

MSBuildExtensionsPath32 = C:\Program Files (x86)\MSBuild

连同注册表

HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersion\4.0\VCTargetsPath=$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V110

HKLM\SOFTWARE\WoW6432Node\Microsoft\MSBuild\ToolsVersion\4.0\VCTargetsPath=$(MSBuildExtensionsPath64)\Microsoft.Cpp\v4.0\V110

理论上,这应该以存储文件的目录结束。但实际上,MSBuild 正在寻找其他地方:

error MSB4019: The imported project "C:\MSBuild\Microsoft.Cpp.props" could not be found.[..]

更令人费解的是:如果 $(MSBuildExtensionsPath) 更改为不在 c:\Program Files (X86)\ 中的内容 - 例如:

MSBuildExtensionsPath32 = C:\test\MSBuild

生成的错误消息发生了变化,令人惊讶的是,路径被正确整理:

error MSB4019: The imported project "C:\test\MSBuild\Microsoft.Cpp\v4.0\V110\Microsoft.Cpp.default.props" could not be found.[..]

有趣的是,这个文件实际上确实存在(在那里复制了它..),但仍然找不到。WTH错了?

4

1 回答 1

1

尽管我和其他人一样讨厌卸载和重新安装东西,但https://stackoverflow.com/a/16213408/239408对我有用,不需要任何故障排除......

于 2013-07-04T13:58:10.767 回答