MSBuild 2017 не удалось создать решение Cordova

Недавно я обновил свое решение Cordova для работы с Visual Studio 2017. Я могу успешно создавать APK-файлы для Android из среды разработки Visual Studio Professional 2017.

Когда я пытаюсь построить решение с использованием MSBuild 2017 из командной строки, я получаю следующую ошибку:

MSBUILD: ошибка компоновки cordova BLDErr_Build_ExceptionLookingForNode: невозможно определить местоположение установки Node.js. Исключение: не удалось загрузить файл или сборку 'Microsoft.VisualStudio.Setup.Engine, версия =1.0.0.0, культура = нейтральная, Pu blicKeyToken=b03f5f7f11d50a3a' или одна из ее зависимостей. Система не может найти указанный файл. [C:\ DEV \ Common \ Source \ Подвижная 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\Professional\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.Setup.Engine.dll

Я не могу найти его в каталоге MSBuild.

Любая помощь будет оценена. Благодарю.

Изменить: чтобы уточнить, MSBuild, который я использую, это "Инструменты сборки для Visual Studio 2017", загруженные с https://www.visualstudio.com/downloads/.

Он установлен в C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

Команда MSBuild, которую я использую:

C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin \ MSBUILD.exe / nologo / p: Конфигурация = Отладка / подробность: diag C: \ dev \ Common \ Source \ Mobile-NGC \ NGC.sln

Edit2: после сравнения сбойного вывода CLI MSBuild с успешным выводом сборки IDE я вижу, что свойство NodeJsDir не зарегистрировано для сбойного MSI-интерфейса CLI.

Это строка из журнала успешных сборок:NodeJsDir = C:\ProgramData\Microsoft\VisualStudio\MDA\8430d60a\taco-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] "Отладка |Android"

1 ответ

Единственное изменение в сценарии сборки - это предоставить свойство MSBuild, которое указывает на экземпляр Visual Studio 2017, используя /p:InstanceId=432dc062

Этот идентификатор экземпляра изменится после обновлений VS2017, поэтому вы должны вручную обновить сценарии сборки после этого.

Вы можете получить текущий экземпляр, используя vswhere.exe запустив

C:\Program Files (x86)\Microsoft Visual Studio\Installer\vswhere.exe

То, что сработало для меня, - это перейти в Tool-> Extension and Updates, найти "инструменты Visual Studio для Apache cordova", установить или снова включить его. перезапустите визуальную студию. и ты снова на правильном пути

Другие вопросы по тегам