Невозможно установить Xamarin.Azure.NotificationHub.Android nuget в существующий проект

#xamarin.forms #xamarin.android #nuget #azure-notificationhub

#xamarin.forms #xamarin.android #nuget #azure-notificationhub

Вопрос:

При попытке установить Xamarin я получил следующую ошибку.Azure.NotificationHub.Пакет Android nuget в мой существующий проект xamarin.forms.

В существующем файле packages.config обнаружено одно или несколько неразрешенных ограничений зависимости пакетов. Для добавления или обновления пакетов необходимо разрешить все ограничения зависимостей. Если эти пакеты обновляются, это сообщение может быть проигнорировано, в противном случае следующие ошибки могут блокировать текущую операцию с пакетом: ‘Xamarin.Ограничение Forms 4.5.0.617: Xamarin.AndroidX.Жизненный цикл.LiveData (> = 2.1.0)’, ‘Xamarin.Ограничение Forms 4.5.0.617: Xamarin.Google.Android.Материал (> = 1.0.0)’, ‘Xamarin.Ограничение Forms 4.5.0.617: Xamarin.AndroidX.Устаревший.Поддержка.V4 (> = 1.0.0)’, ‘Xamarin.Ограничение Forms 4.5.0.617: Xamarin.AndroidX.Browser (> = 1.0.0) ‘

Не удается найти версию ‘Xamarin.Android.Arch.Core.Общий «, совместимый с «Xamarin.Android.Arch.Core.Runtime 1.1.1.3 ограничение: Xamarin.Android.Arch.Core.Общий (= 1.1.1.3)’, ‘Xamarin.Android.Arch.Lifecycle.Ограничение LiveData 1.1.1.3: Xamarin.Android.Arch.Core.Общий (= 1.1.1.3)’, ‘Xamarin.Android.Arch.Lifecycle.Живые данные.Ограничение ядра 1.1.1.3: Xamarin.Android.Arch.Core.Общий (= 1.1.1.3)’.

Но в моем проекте уже есть Xamarin.Установлен Android.Arch.*** 1.1.1.3.

У меня не было проблем при установке Xamarin.Azure.NotificationHub.Android nuget в новый проект. Ошибка возникает при установке на один из моих существующих Xamarin.Формирует проект, который уже использует AppCenter. Это из-за какого-то конфликта зависимостей пакетов? Если да, то как это решить?

Комментарии:

1. Вы установили вышеуказанный пакет?

2. Что вы имели в виду под вышеуказанным пакетом? Xamarin. Android.Arch. *?

3. Я имею в виду Xamarin. Пакеты AndroidX.xxxx и какова ваша версия Xamarin.forms, вы пытались их обновить?

4. Когда я попытался установить один из Xamarin. Пакеты AndroidX.xxxx, я получаю такую же ошибку: не удается найти версию ‘Xamarin. AndroidX.SavedState’, совместимый с ‘Xamarin. AndroidX. Действие 1.1.0.4 ограничение: Xamarin. AndroidX.SavedState (> = 1.1.0.3-alpha01)’, ‘Xamarin. Ограничение AndroidX.Fragment 1.2.5.3: Xamarin. AndroidX.SavedState (> = 1.1.0.3-alpha01)’, ‘Xamarin. AndroidX. Жизненный цикл. ViewModelSavedState 2.2.0.3 ограничение: Xamarin. AndroidX.SavedState (> = 1.1.0.3-alpha01)’.

5. Мой проект xamarin.android использует файл package.config для сохранения установленных пакетов. Может ли это быть проблемой?

Ответ №1:

Xamarin.Azure.NotificationHub.Android (1.1.1) пакет использует Xamarin.GooglePlayServices.Base (>= 70.x.x) и Xamarin.Firebase.Messaging (>= 70.x.x) как зависимости. Один из пакетов, установленных в проекте, также зависит от Xamarin.GooglePlayServices.Base пакета. Xamarin.Azure.NotificationHub.Android (1.1.1) для пакета требуется более высокая версия GooglePlayservices.Base (>= 70.x.x) пакета. Поскольку мой проект использует файл package.config для управления установленными пакетами, в существующем пакете уже установлена более низкая версия GooglePlayServices.Базовый пакет (60.x.x).

Я смог решить эту проблему 2 способами:

  1. Удалите пакет, который создает конфликт со всеми его зависимостями. Затем переустановите пакет, установив поведение зависимостей как минимальное. Затем я смог установить NotificationHub.Пакет Android без каких-либо ошибок.

  2. Перейдите из package.config в новый формат PackageReference. Таким образом, легче увидеть, какие пакеты установлены непосредственно в проекте, и не нужно беспокоиться о зависимостях. Это также показывает, какие пакеты создают конфликт. Исправлена проблема, как указано в журнале ошибок.

NU1107: обнаружен конфликт версий для Xamarin.Сервисы Google Play.Подвал. Установите / обратитесь к Xamarin.Сервисы Google Play.Подвал 71.1620.4 непосредственно в project XXX для решения этой проблемы. XXX -> Xamarin.Azure.NotificationHubs.Android 1.1.1 -> Xamarin.Firebase.Обмен сообщениями 71.1740.4 -> Xamarin.Сервисы Google Play.Подвал (> = 71.1620.4)