& ldquo; Задача LinkAssemblies неожиданно завершилась неудачно & rdquo; в Android Realease, похоже, вызвано Xamarin.iOS.dll [duplicate]

В то время как обещания и обратные вызовы хорошо работают во многих ситуациях, боль в задней части выражает нечто вроде:

if (!name) {
  name = async1();
}
async2(name);

. В итоге вы пройдете через async1; проверьте, не определено ли name или нет, и соответственно вызовите обратный вызов.

async1(name, callback) {
  if (name)
    callback(name)
  else {
    doSomething(callback)
  }
}

async1(name, async2)

Хотя в в порядке хорошо , это раздражает, когда у вас много подобных случаев и обработка ошибок.

Fibers помогает в решении проблемы.

var Fiber = require('fibers')

function async1(container) {
  var current = Fiber.current
  var result
  doSomething(function(name) {
    result = name
    fiber.run()
  })
  Fiber.yield()
  return result
}

Fiber(function() {
  var name
  if (!name) {
    name = async1()
  }
  async2(name)
  // Make any number of async calls from here
}

Вы можете проверить проект здесь .

29
задан Michael Irigoyen 10 April 2015 в 12:16
поделиться

9 ответов

По-видимому, это известная проблема : Xamarin Forms требует, чтобы TargetAndroidVersion равнялась 21. (В конфигурационном GUI это называется «Скомпилировать с помощью версии Android»)

19
ответ дан Andy Hopper 23 August 2018 в 17:59
поделиться

Я решил, что изменение параметра Android Linker Behavior в настройках> Android Builder> Linker из «Link sdk Assemblies Only» означает «не ссылаться».

-2
ответ дан Alvaro Pereira 23 August 2018 в 17:59
поделиться

Я изменил свойства Linker> Связывание только с Sdk Assemblies только для Sdk и пользовательских сборок для конфигурации Release.

1
ответ дан James Esh 23 August 2018 в 17:59
поделиться

В моем случае проблема была указана в dll Xamarin.iOS в проекте pcl. Связывание не работает для этой сборки. Исправлена ​​проблема с исправлением.

2
ответ дан koshiMan88 23 August 2018 в 17:59
поделиться

Jus Я изменил ссылку с «NONE» на «sdk и сборку пользователей», и я запустил мое решение, и проблема была решена. после этого вы можете изменить «сборка sdk и users» на «NONE» и запустить проект без каких-либо проблем.

Но размер файла выпуска может быть изменен.

введите описание изображения здесь

0
ответ дан MohammadReza Moradi 23 August 2018 в 17:59
поделиться

В моем случае проблема возникла из-за добавления Xamarin.ios.dll в Portable Project. Я удалил эту ссылку и теперь работает

2
ответ дан Onur 23 August 2018 в 17:59
поделиться

Я исправил это, понизив Xamarin.Android.Support.v4 до версии 21.0.0 в NuGet Package Manager. Надеюсь, что вам помогут

0
ответ дан Pedro Câmara 23 August 2018 в 17:59
поделиться

У меня также была та же проблема. После серии проб и ошибок я нашел решение.

В вашем манифесте установлена ​​целевая версия Android для Android 7.1 (API-уровень 25 нуга) или выше. Установите Компиляцию версии Android на Android 7.1.

Надеюсь, это поможет

1
ответ дан uchenna nnodim 23 August 2018 в 17:59
поделиться

В моем преследовании я изменил свойство компоновщика (Linker -> Linking) на «Нет». Я использую visual studio 2017 RC

0
ответ дан wonea 23 August 2018 в 17:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: