为 Windows 构建 Cordova,出现 Visual Studio 2017 错误

Cordova build for Windows with Visual Studio 2017 error

我在为 Windows 构建新的 cordova 项目时遇到问题。

我安装了以下版本:

因此,要重现:

  1. cordova create project1
  2. cd project1
  3. cordova platform add windows
  4. cordova build windows

然后出现如下错误:error MSB4019: The imported project "C:\Program Files (86)\MSBuild\Microsoft\VisualStudio\v14.0\JavaScript\Micros oft.VisualStudio.WJProject.Default.props" was not found. Confirm that the path in the <Import> declaration is correct, and that the file exists on disk

当我将 --verbose 标志添加到构建时,我注意到 C:\WINDOWS\system32\reg.exe query,HKLM\SOFTWARE\Microsoft\MSBuild\ToolsVersions.0,/v,MSBuildToolsPath 命令没有 return 成功,因此它使用构建工具 v14 而不是 v15。

如果我用 Visual Studio 2017 创建一个新项目,它会在 Visual Studio 内成功编译 & 运行,但我在 cordova build windows 命令上有同样的错误。

我想如果安装了正确的注册表项,它会正常工作。我应该如何正确添加它们?或者 Visual Studio 正在做什么而 cordova 或 taco 命令没有做?

今天遇到了同样的问题,您为我指出了正确的方向 - 谢谢!

原因是,cordova build 命令在注册表中查找 MSBuild 路径,但自 Visual Studio 2017 以来,Microsoft 未写入该路径在注册表中(更多关于此 here

作为解决方法,我在注册表中创建了以下键(不要忘记更改路径):

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\MSBuild\ToolsVersions.0]
"MSBuildToolsPath"="C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin\amd64"

在那之后,cordova 构建成功了!

另一种解决方案是只安装 VS 2015,但在我的情况下,这不是一个选项,因为我在我的应用程序中使用了 sqlite 插件,而当前版本只能使用 VS 2017 构建 windows.