MSBuild-MSB4019由于路径无效(Visual Studio 2019)

时间:2020-03-24 10:26:17

标签: visual-c++ msbuild visual-studio-2019

在通过命令提示符在VS2019上构建C ++解决方案时,我遇到了错误。

C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Microsoft \ VC \ v160 \ Microsoft.Cpp.ToolsetLocation.props(50,3):错误MSB4019:导入的项目“ C:找不到\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Microsoft \ VC \ v160Platforms \ Win32 \ Platform.props。确认导入声明“ C:\ Program Files(x86)\ Microsoft Visual Studio \ 2019 \ Professional \ MSBuild \ Microsoft \ VC \ v160Platforms \ Win32 \ Platform.props”中的表达式正确,并且该文件存在于磁盘上

观察后,很明显在某些props文件内部创建的路径存在问题。目前还不清楚原因和原因。

任何指针都会有很大帮助。

谢谢。

2 个答案:

答案 0 :(得分:2)

MSBuild-MSB4019由于路径无效(Visual Studio 2019)

安装VS2019时出现一些错误。

要解决此问题,请尝试以下操作:

1)打开VS Installer,并确保已安装v142 Build Tool。

enter image description here

或在提升权限的命令提示符(管理员)上运行此命令:npm install --global --production windows-build-tools。如果您没有npm,建议您安装它,否则将无法正常工作。

2)我发现v160Platforms没有\,与您的描述一样吗?

请创建一个名为VCTargetsPath的新环境变量,并将其值设置为此:

C:\Program Files (x86)\Microsoft Visual Studio\2019\Professional\MSBuild\Microsoft\VC\v160\

3) do a fix in vs installer或更新VS(如果不是最新版本)。

然后使用developer command prompt for VS2019作为管理员来运行您的命令。

此外,您可以在命令行中使用-verbosity:detailed来查看详细的构建日志,以检查是否存在明显的错误。您可以查看this similar issue的更多信息。

答案 1 :(得分:1)

这不是由于安装问题引起的。这是由于VCTargetsPath传递给MSBuild.exe引起的。在VS2017中,期望在构建命令中传递VCTargetsPath,但是如果我们在VS2019中传递值,则会失败,并构造无效路径。因此,从命令中删除VCTargetsPath之后,对我来说一切正常。