MSBUILD 2017未能构建Cordova解决方案



我最近将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,版本= 1.0.0.0,culture =中性,pu blickeytoken = b03f5f7f11d50a3a'或其依赖项之一。该系统找不到指定的文件。[c: dev common source mobile-ngc phalanxngc.jsproj]

我在使用node.js v4.8.4和v6.11.3以及32位和64位版本时尝试过它。

我还曾在IDE目录中找到Microsoft.visualstudio.setup.engine.dll,我可以找到它: C:Program Files (x86)Microsoft Visual Studio2017ProfessionalCommon7IDEPrivateAssembliesMicrosoft.VisualStudio.Setup.Engine.dll

我无法在msbuild目录下找到它。

任何帮助将不胜感激。谢谢。

edit :要澄清,我正在使用的MSBUILD是从https://www.visualstudio.com/downloads/.

下载的" Visual Studio 2017的构建工具"。

它安装在C:Program Files (x86)Microsoft Visual Studio2017BuildToolsMSBuild15.0Bin

我正在使用的msbuild命令是:

Mobile-NGC ngc.sln

edit2 :在将失败的MSBUILD CLI输出与成功的IDE构建输出进行了比较之后,我可以看到属性nodejsdir未针对失败的CLI MSBUILD记录。

这是成功构建日志的行: NodeJsDir = C:ProgramDataMicrosoftVisualStudioMDA8430d60ataco-toolset-6.3.1

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"

构建脚本的唯一更改是手动提供使用/p:InstanceId=432dc062

指示Visual Studio 2017实例的MSBUILD属性

此实例ID将在VS2017更新后更改,因此您应该手动更新构建脚本。

您可以使用vswhere.exe通过运行

获得当前实例
C:Program Files (x86)Microsoft Visual StudioInstallervswhere.exe

对我有用的东西是转到工具 ->扩展和更新查找" Apache Cordova的Visual Studio工具"安装或再次启用它。重新启动视觉工作室。而且您回到轨道

相关内容