【问题标题】:MSBuild - MSB4019 Due to invalid path (Visual Studio 2019)MSBuild - MSB4019 由于路径无效 (Visual Studio 2019)
【发布时间】:2020-07-04 20:04:58
【问题描述】:

我在通过命令提示符在 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 文件内部创建的路径存在问题。目前尚不清楚为什么以及从何处出现这种情况。

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

提前致谢。

【问题讨论】:

  • 首先,你有没有通过路径找到相关文件Platform.props

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


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    安装VS2019时出现一些错误。

    要修复它,请尝试以下操作:

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

    或者在提升的命令提示符(管理员)上运行它: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

    【讨论】:

    • VC140 的 VCTargetsPath 是什么?
    • @eri0o, C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\
    • 谢谢,vs2019 构建工具有点麻烦。
    猜你喜欢
    • 2020-10-13
    • 2021-03-24
    • 2023-03-28
    • 2020-01-15
    • 2020-04-20
    • 1970-01-01
    • 2016-07-10
    • 2020-07-02
    • 2011-12-12
    相关资源
    最近更新 更多