Intereting Posts
Изменение цвета фона popupmenu при использовании библиотеки поддержки Изменить цвет текста простого списка ViewView Множественный выбор Android Игнорирование файлов из Android APK MultiAutoCompleteTextView с пользовательским адаптером отображает искаженную строку Как тестировать устройство Android и издеваться над статическим методом OnTextChanged vs afterTextChanged в Android – нужны живые примеры Управление медиа-кнопками в Android 5.0 Lollipop Несколько проектов один источник Обнаружение изменения состояния сети с помощью JobSchedulers в Android Как получить выделенный текст из edittext в android? Сброс кнопки переключения не работает должным образом Как я могу настроить программу Launcher программно в android? JQUERY Мобильная форма перескакивает при вводе значений Crashlytics обесценивает logException (), что такое замена? Ионное приложение говорит, что работает в эмуляторе Android, но не работает

Получение сборки Ошибка создания приложения для Android с использованием расширения Xamarin для предварительного просмотра Visual Studio 2015

Я использую недавно выпущенную версию Visual Studio 2015 Preview вместе с расширением Xamarian Studio 5.6.3 (или 5.6.2) для Visual studio.

После того, как вы загрузили и установили все необходимое программное обеспечение (все сделано успешно), я начал разрабатывать Android-приложение в VS2015P, но каждый раз, когда я создаю пустое приложение для Android, я получаю эту ошибку без кода ошибки:

Задача «MergeApkRecipelists» не получила значения для требуемого параметра «RecipeFiles».

Solutions Collecting From Web of "Получение сборки Ошибка создания приложения для Android с использованием расширения Xamarin для предварительного просмотра Visual Studio 2015"

Выяснил это, посмотрев файлы .targets Xamarin.

Укороченная версия

Вы также можете:

  • Создайте проект библиотеки Android C ++ и укажите, что из вашего проекта Xamarin Android

или

  • Прокомментируйте элемент Import определенный в% PROGRAMFILES (x86)% \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.After.targets. Обратите внимание, что это скорее всего отключит поддержку для добавления ссылок на проекты C ++ на проекты Xamarin Android.

После того, как вы сделаете один из них, ваш проект Xamarin Android должен построить и запустить.

Длинная версия

Во-первых, обратите внимание на ошибку в окне вывода VS:

C:\Program Files (x86)\MSBuild\Xamarin\Android\Xamarin.Android.Common\ImportAfter\Microsoft.Cpp.Android.targets(54,9): error MSB4044: The "MergeApkRecipelists" task was not given a value for the required parameter "RecipeFiles".

Файл Microsoft.Cpp.Android.targets, упомянутый в ошибке, похоже, связан с поддержкой ссылок на проекты C ++. В нем элемент для задачи MergeApkRecipelists выглядит так:

 <!-- language: lang-xml --> <MergeApkRecipelists RecipeFiles="@(_NativeAndroidRecipeFiles)"> ... </MergeApkRecipelists> 

Переменная NativeAndroidRecipeFiles , по-видимому, не определена в файлах .targets, поэтому, по-видимому, она инициализируется процессом сборки. Но поскольку файл .targets, по-видимому, нацелен на поддержку проектов C ++ project refs, я попытался добавить проект общей библиотеки Android C ++ в свое решение:

Добавление проекта динамической общей библиотеки (Android)

Затем я ссылался на проект C ++ из моего проекта Android Xamarin и вуаля! После этого успех был успешным.

Но так как это довольно обременительно, чтобы принести фиктивный lib, я также отслеживал, куда втягивается файл Microsoft.Cpp.Android.targets Xamarin. Это происходит в C: \ Program Files (x86) \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common.After.targets файл, который имеет один элемент Import :

 <!-- language: lang-xml --> <Import Project="$(MSBuildThisFileDirectory)\Xamarin.Android.Common\ImportAfter\*" Condition="Exists('$(MSBuildThisFileDirectory)\Xamarin.Android.Common\ImportAfter')"/> 

Это вносит все в% PROGRAMFILES (x86) \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common \ ImportAfter. Поскольку единственным элементом в этом каталоге является файл .targets, который мы хотим исключить, это можно прокомментировать, не затрагивая ничего другого. Но учтите, что, поскольку этот файл .targets является частью поддержки для ссылок на проекты на C ++ из проектов Xamarin Android, комментирование этого, по-видимому, означает, что он больше не будет работать должным образом.

Поскольку этот оператор Import закомментирован, проект Xamarin Android должен создавать и запускать без каких-либо ссылок на C ++.

Просто добавьте следующее условие в строку 54 файла целей в C: \ Program Files (x86) \ MSBuild \ Xamarin \ Android \ Xamarin.Android.Common \ ImportAfter \ Microsoft.Cpp.A. Ndroid.targets:

<MergeApkRecipelists RecipeFiles="@(_NativeAndroidRecipeFiles)" Condition="'@(_NativeAndroidRecipeFiles)' != ''">

Примечание. Это постоянное исправление скоро поступит в альфа-канал.

Попробуйте обновить Xamarin до 3.9. Обновить

Обновите Xamarin от http://developer.xamarin.com/releases/vs/xamarin.vs_3/xamarin.vs_3.9/ Я сделал это, и он работает.