cordova windows 构建错误(未检测到所选目标的有效 MSBuild) - 检查所有 Cordova 要求

Posted

技术标签:

【中文标题】cordova windows 构建错误(未检测到所选目标的有效 MSBuild) - 检查所有 Cordova 要求【英文标题】:cordova windows build error (No valid MSBuild was detected for the selected target) - All Cordova requirements are checked 【发布时间】:2019-04-26 07:10:57 【问题描述】:

我正在尝试使用cordova 构建Windows x64,但仍然没有成功。我收到此错误,并且在论坛中找不到任何可以帮助我的内容,因为我的案例中检查了所有 Cordova 要求。

未检测到所选目标的有效 MSBuild:AppPackages 文件夹不存在

我在 MSBUILDDIR 环境中尝试了不同的地址,目前没有成功。 Cordova 要求也通过了一切!

科尔多瓦要求

ENV var MSBUILDDIR is set C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64

Requirements check results for windows:
Windows OS: installed Windows 10
MSBuild Tools: installed 15.9
Visual Studio: installed (user-specified via VSINSTALLDIR)
Windows SDK: installed 10.0
Windows Phone SDK: installed 10.0

我的电脑是一台 x64 机器,运行 64 位 Windows 10,配备 AMD Ryzen 5 2400G APU 任何想法都非常感谢

顺便说一下,到目前为止,我已经解决了几个问题,所以我离开这里以防以后对某些人有所帮助:

错误:不支持 MSBuild v4.0,正在中止。

修复:通过设置环境变量 VSINSTALLDIR = C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\

即使 Visual Studio 2017 安装了 Cordova 库,仍然出现以下错误:

错误:未找到 Windows SDK。修复:通过单独安装 SDK (https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk)

错误:我收到一些指向 Node.js 的错误修复:全部安装 VS 中的 Node.JS 库,并将 Cordova 更新到最新版本, 其中一个应该已经修复了它,因为在我做了这些之后它就消失了

【问题讨论】:

【参考方案1】:

就个人而言,我更喜欢命令行工具。我遇到了同样的问题,并通过分析这些工具的输出设法解决了它。

不支持 MSBuild v4.0,正在中止。

如果您使用cordova build windows --verbose,您会看到更多信息。

然后,您必须指定另一个 MSBuild 目标。 Cordova 在注册表中查找这些目标,但 Visual Studio(至少 2017 年)根本不接触注册表。

所以,我在HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions\15.5\(新创建的)下添加了指向C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\15.0\Bin的密钥MSBuildToolsPath

完成此操作后,您不需要指定环境变量MSBUILDDIRVSINSTALLDIR。但是我也手动全局安装了这些工具(例如npm install -g cordova),所以使用VS提供的工具可能需要使用那些环境变量。

就我而言,之后构建工作正常。但是请注意,我安装了 VS Community 2017 VS BuildTools。我用这篇文章作为“模板”:Cordova build windows on Windows 10 and VisualStudio 2017

【讨论】:

以上是关于cordova windows 构建错误(未检测到所选目标的有效 MSBuild) - 检查所有 Cordova 要求的主要内容,如果未能解决你的问题,请参考以下文章

Cordova 构建 android 失败!!! JDK 8('1.8.*')的要求检查失败!检测到的版本:9.0.1 在 Windows 10 中

Cordova 构建错误“JDK 8 ('1.8.*') 的要求检查失败!检测到的版本:11.0.2”

Cordova Windows 应用程序未使用依赖项文件夹构建 appx

带有cordova的Appflow在构建中检测电容器

Ionic 应用程序未在 iOS 上检测到 iBeacons (cordova-plugin-estimote)

cordova-plugin-network-information 1.3.0“网络信息”未检测到应用程序何时在线