我在 Visual Studio 2013 中创建了一个项目。
项目文件具有以下属性:
工具版本=“12.0”,
平台工具集 = v120。
我安装了 Visual Studio 2013 和 Microsoft Build Tools 2015。
该项目使用 MSBuild 12.0 成功构建。尝试使用 MSBuild 14.0 构建它时出现错误
MSB4019: The imported project "C:\Microsoft.Cpp.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk.
据我了解,问题是变量 VCTargetsPath 没有被评估。如果我在构建之前指定变量 VCTargetsPath(值为 C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120),问题就解决了。
但是,如果路径不同,这种方法就不太方便。是否有可能以更优化的方式解决问题?
注册表项及其值:
HKLM\Software\WOW6432Node\Microsoft\MSBuild\ToolsVersions\12.0\VCTargetsPath $([MSBuild]::ValueOrDefault('$(VCTargetsPath)','$(MSBuildExtensionsPath32)\Microsoft.Cpp\v4.0\V120\'))
这通常可以解决问题:
- 在提升的命令提示符(管理员)上运行:
npm install --global --production windows-build-tools
。这需要npm
要安装(我推荐的包管理器)。
- 更改安装目录的所有权(在我的例子中
C:\Program Files (x86)\MSBuild\14.0
) 给您的用户,而不是管理员。 (属性>安全性>高级)。
有时第 2 步是不必要的。仍然建议避免使用管理控制台来执行某些命令。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)