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++- Инструменты для CMakeBuildtools для веб-разработки
+ добавить опционально: Инструменты разработки для.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', }) ],