Идентификация преступников для многочисленных предупреждений XA0106 при создании приложения Xamarin.Forms на Android

У нас есть приложение Xamarin.Forms, в котором используется довольно много пакетов.

При создании мы получаем сотни предупреждений XA0106, подобных этому:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2,2): Предупреждение XA0106: Пропуск Musterd.Droid.Resource.Attribute.MediaRouteControllerWindowBackground. Убедитесь, что ваши версии пакета Nuget совместимы. (XA0106) (Musterd.Droid)

Я знаю, что это из-за несоответствий между библиотеками поддержки, используемыми пакетами. Проблема в том, чтобы выяснить, какой из них!

Есть ли какой-либо инструмент или параметр сборки, который я могу использовать, который поможет мне домой, на какие пакеты вызывает это, и что я могу/должен обновить?

Ответ 1

Это может произойти, когда версия Android SDK, которую вы используете, отличается от версии пакетов поддержки Android, используемых вашим приложением. Пакеты поддержки версируются таким образом, который должен соответствовать времени SDK компиляции.

Лучшее решение - всегда использовать последнюю из них.

  • Обновите свой Android SDK, чтобы установить последнюю стабильную версию.
  • Убедитесь, что ваше приложение компилируется в соответствии с последней версией в настройках проекта.
  • В Android-проекте обновите все пакеты NuGet, которые начинаются с Xamarin.Android до последней версии.