为什么MSBuild在不相关的位置查找Microsoft.Cpp.Default.props

时间:2013-06-28 16:14:12

标签: msbuild

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

Why does MSBuild look in C:\ for Microsoft.Cpp.Default.props instead of c:\Program Files (x86)\MSBuild? ( error 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错了吗?

1 个答案:

答案 0 :(得分:1)

虽然我讨厌卸载和重新安装内容的任何人,https://stackoverflow.com/a/16213408/239408对我有用,并且不需要任何故障排除......