Cordova собирает окна на Windows 10 и VisualStudio 2017

Попытка собрать приложение Cordova на Windows 10 всегда заканчивается неудачей
(node:31) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): No valid MSBuild was detected for the selected target.
в Windows 10 Pro 1709 с VisualStudio 2017 Community Edition.

Я точно следовал всем инструкциям для Windows 10 в Cordova Docs для Windows

Я установил VS с пакетом Mobile Development with Javascript который включает в себя инструменты Cordova. Я также установил дополнительные инструменты сборки для Visual Studio 2017.
Чтобы создать тестовое приложение, я использовал команды из документов:

cordova create test
cd test
cordova platform add windows
cordova build windows

После нескольких часов исследований я обнаружил, что проблема может заключаться в активной WindowsPolicy DisableRegistryTools, но это не вызывает проблемы. Переустановка VisualStudio также не имеет никакого эффекта. Сообщение об ошибке всегда одинаково.

Изменить: я только что проверил cordova requirementsЯ не знал этой команды раньше. Это вывод:

Requirements check results for windows:
Windows OS: installed Windows 10
MSBuild Tools: not installed
MSBuild tools v.12.0 not found. Please install Visual Studio 2013 Express  for Windows Update2 from https://www.visualstudio.com/downloads/download-visual-    studio-vs
Visual Studio: not installed
Required version of Visual Studio not found. Please install Visual Studio 2013 Express for Windows Update2 from     https://www.visualstudio.com/downloads/download-visual-studio-vs
Windows SDK: not installed
Windows SDK not found. Ensure that you have installed Windows 8.1 SDK along with Visual Studio or install Windows 8.1 SDK separately from     https://dev.windows.com/en-us/downloads
Windows Phone SDK: not installed
Windows Phone SDK not found. Ensure that you have installed Windows Phone 8.1 SDK along with Visual Studio or install Windows Phone 8.1 SDK separately from https://dev.windows.com/develop/download-phone-sdk
Error: Some of requirements check failed

Если это возможно, я бы попробовал требуемую более старую версию VisualStudio. Но загрузка больше не доступна.

1 ответ

Решение

Я наконец получил cordova build windows а также cordova run windows работая, следуя этому недавно опубликованному руководству в блоге cordova.

  • Установите VistualStudio Community 2017 или лучше

    • С вариантами:

      • Разработка универсальной платформы Windows,
        + добавить опционально: Windows 10 Mobile-Emulator (обновление Fall Creators)
        + добавить опционально: Windows 10 SDK (10.0.15063.0) для UWP: C#, VB, JS
        + добавить опционально: Windows 10 SDK (10.0.10586.0)

      • Мобильная разработка с JavaScript
        + добавить опционально: Windows 10 Mobile-Emulator (обновление Fall Creators)
        + добавить optinoal: UWP-инструменты для Cordova

  • Установите инструменты сборки для Visual Studio 2017, вы найдете их на странице загрузок VS в разделе " Другие инструменты и фреймворки ".

    • Параметры ниже могут не быть необходимыми, но я установил их все, чтобы он просто работал.
    • С вариантами:

      • Visual C++ Buildtools
        + добавить опционально: Windows 10 SDK (10.0.16299.0) для рабочего стола C++
        + добавить опционально: Visual C++- Инструменты для CMake

      • Buildtools для веб-разработки
        + добавить опционально: Инструменты разработки для.NET Framework 4–4.6
        + добавить опционально: .NET Core 2.0-инструменты разработки
        + добавить опционально: NuGet-Ziele und Buildaufgaben
        + добавить опционально: TypeScript 2.6 SDK
        + добавить опционально: расширенные возможности ASP.NET

      • .NET Core-Buildtools

      • Node.js Buildtools


  • Обязательно используйте cordova platform add windows@6.0.0
    в противном случае 5.0.0 будут добавлены в ваш проект, что в основном несовместимо с VisualStudio 2017.
  • Обязательно установите MSBUILDDIR в C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\MSBuild\15.0\Bin
  • Убедитесь, что вы не используете bash в Windows, иначе Cordova не узнает, что вы работаете в операционной системе Windows. Поэтому вы должны использовать CMD или Powershell.
  • Я также добавил эти настройки в config.xml

    <platform name="windows">
        <preference name="windows-target-version" value="10.0" />
        <preference name="windows-phone-target-version" value="10.0" />
        <preference name="WindowsDefaultUriPrefix" value="ms-appx://" />
    </platform>
    

    - Если вы по-прежнему сталкиваетесь с ошибками, попробуйте открыть проект в Visual Studio и создать его там.

  • Если вы используете Ionic 3, вы можете использовать bash для запуска npm install, ionic cordova platform add windows@6.0.0 а также ionic cordova build windows --prod скомпилировать и скопировать на платформу / www. Но сборка пакета .appx должна быть сделана с помощью CMD, используя cordova build windows или же cordova run windows

  • Если стиль приложения остается Android-подобным, добавьте эту конфигурацию в app.module.ts

     imports: [
       IonicModule.forRoot(MyApp, {
           mode: 'wp',
       })
     ],
    
Другие вопросы по тегам