我最近升级了我的Cordova解决方案,以便与Visual Studio 2017一起使用。我能够在Visual Studio Professional 2017 IDE中成功构建Android APK。
当我尝试从命令行使用MSBuild 2017构建解决方案时,收到以下错误:
MSBUILD:cordova-build错误BLDErr_Build_ExceptionLookingForNode:无法确定Node.js安装的位置。例外:无法加载文件或程序集' Microsoft.VisualStudio.Setup.Engine,Version = 1.0.0.0,Culture = neutral,Pu blicKeyToken = b03f5f7f11d50a3a'或其中一个依赖项。该系统找不到指定的文件。 [C:\ dev的\共同\源\移动-NGC \ PhalanxNGC.jsproj]
我在使用Node.js v4.8.4和v6.11.3以及32位和64位版本时尝试过但没有成功。
我还查找了Microsoft.VisualStudio.Setup.Engine.dll,我可以在IDE目录中找到它:
C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin
我无法在MSBuild目录下找到它。
任何帮助将不胜感激。 感谢。
编辑:为了澄清,我正在使用的MSBuild是" Visual Studio 2017的构建工具"从here下载。
它安装在NodeJsDir = C:\ProgramData\Microsoft\VisualStudio\MDA\8430d60a\taco-toolset-6.3.1
我使用的MSBuild命令是:
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ MSBUILD.exe / nologo / p:Configuration = Debug / verbosity:diag C:\ dev \ Common \ Source \移动NGC \ NGC.sln
EDIT2 : 在将失败的MSBuild CLI输出与成功的IDE构建输出进行比较后,我可以看到未针对失败的CLI MSBuild记录属性NodeJsDir。
这是成功构建日志的行:
http://{{url}}/Host?hostInfo.host_name=Test&hostInfo.host_zipcode=123&hostInfo.host_id=123
EDIT3 : 看起来失败的构建日志中缺少用于Apache Cordova的工具的其他环境变量。其中包括:NODEJSDIR,NPMINSTALLDIR,LANGNAME,BUILDVERBOSITY,GIT_HOME。
更新: 我已将此报告给Microsoft支持,现在将其记录为问题。目前的解决方法是使用命令行中的devenv进行构建:
C:\ Program Files(x86)\ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ devenv.com [PathToCordovaSolution]" Debug | Android"
答案 0 :(得分:0)
您构建脚本的唯一更改是手动提供MSBuild属性,该属性使用/p:InstanceId=432dc062
此实例ID将在VS2017更新后更改,因此您应该在此之后手动更新构建脚本。
您可以通过运行
使用vswhere.exe
获取当前实例
C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe
答案 1 :(得分:0)
对我有用的是 转到工具->扩展和更新 查找“适用于Apache Cordova的Visual Studio工具” 重新安装或启用它。 重新启动Visual Studio。并且您回到了正轨