Сборка приложения ionic2 для Windows10 завершилась ошибкой при добавлении плагина MobileFirst


Задача:

  • у меня есть приложение в ionic2, которое я мог бы построить для windows 10, пока я не добавил cordova-plugin-mbf (MBF версии 8.0.0).
  • когда я его добавил, сборка не удалась и меня попросили добавить аргумент --archs=x64
  • с его помощью сборка продолжает завершаться ошибкой, но с этой ошибкой "msbuild.exe: команда не выполнена с кодом выхода 1 "

Что я пытаюсь:

  • начните новый проект, чтобы проверить, что я могу построить без плагина
  • Добавьте плагин в пустой проект, чтобы проверить, что это он бросает ошибку
  • переустановите windows с нуля, чтобы убедиться, что мои настройки верны
  • Сборка с узлом v5. 12
  • много плакать

Моя настройка:

  • Cordova CLI: 6.3.1
  • версия Ionic Framework: 2.0.0-beta.11
  • ионная версия CLI: 2.0.0-beta.37
  • Ionic App Lib версия: 2.0.0-beta.20
  • ОС: версия узла: v6.5.0

  • Windows 10 версия 1511; 10586.545

  • Visual Studio 2015 comunity edition с :
    • Microsoft Web development tools
    • универсальные средства разработки приложений для windows
      • инструменты (1.4.1) и пакета SDK для Windows 10 (10.0.14393)
      • Windows 10 SDK (10.0.10586)
      • Windows 10 SDK (10.0.10240)
    • инструменты для windows 8.1 и windows phone 8.0/8.1
      • инструменты и Windows SDK
    • эмулятор для Windows Phone 8.1

Полное процедура:

Начните чистый проект:

ionic start testBuildWin10 -v2
cd testBuildWin10 

Настройка конфигурации.xml для целевого windows10 вместо windows 8.1

<platform name="windows">
    <preference name="windows-target-version" value="10.0" />
</platform>

На этом этапе приложение работает, но не удалось добавить mfp:

cordova plugin add cordova-plugin-mfp
cordova prepare
ionic run windows

Ошибка попросите меня добавить аргумент --archs=x64

Запуск команды: "C:Program файлыnodejsnode.exe" C:UsersEricDesktoptestBuildWin10-2hooksafter_prepare10_add_platform_class.JS C:UsersEricDesktoptestBuildWin10-2

Добавить к класс кузова: платформа-windows

Строительный проект: C:UsersEricDesktoptestBuildWin10-2platformswindowsCordovaApp.Windows10.jsproj

    Configuration : debug
    Platform      : anycpu

C:UsersEricDesktoptestBuildWin10-2platformswindowsCordovaApp.Windows10.файл jsproj(83,9): ошибка: следующий компонент требует компиляции .NET Native, которая недоступна при таргетинге на 'Windows10'и ' AnyCPU'. Считать изменение целевой архитектуры процессора на одну из следующих: 'х86, х64, рукоятка' (если вы используете командную строку, это может быть сделано с помощью Добавление параметра '--archs', например: 'cordova build windows --арки=х64'). C:UsersEricDesktoptestBuildWin10-2platformswindowspluginscordova-plugin-globalizationGlobalizationProxy.winmd

Ошибка: C:Program файлы (x86)MSBuild14.0binmsbuild.exe: команда ошибка с кодом выхода 1

Затем, когда я запускаю ionic run -- archs=x64

C:UsersEricDesktoptestBuildWin10-2platformswindowsCordovaApp.Windows10.файл jsproj(83,9): ошибка: следующий компонент требует компиляции .NET Native, которая недоступна при таргетинге на 'Windows10'и ' AnyCPU'. Пожалуйста рассмотрите возможность изменения целевой архитектуры процессора на одну из следующих: ниже: "x86, x64, ARM" (если вы используете командную строку, это может быть быть сделано путем добавления параметра--арки', например: 'Кордова построить окна-арки=х64'). C:UsersEricDesktoptestBuildWin10-2platformswindowspluginscordova-plugin-globalizationGlobalizationProxy.winmd

Ошибка: C:Program файлы (x86)MSBuild14.0binmsbuild.exe: команда ошибка с кодом выхода 1

1 3

1 ответ:

MobileFirst в SDK для Windows пакеты с конкретной архитектуры dll файлы. Следовательно, ionic run windows команда будет выполнена, как это работает AnyCPU.

Для выполнения команд, специфичных для платформы, необходимо добавить разделитель -- перед разделителем --archs=x64.

Попробуйте с командой ionic run windows -- --archs=x64, я надеюсь, что это должно решить проблему.