Устранение неполадок Xamarin.Forms

Распространенные условия ошибки и способы их устранения

Ошибка: "Не удается найти версию совместимой Xamarin.Forms с..."

Следующие ошибки могут появиться в окне консоли пакета при обновлении всех пакетов NuGet в Xamarin.Forms решении или в Xamarin.Forms проекте приложения Android:

Attempting to resolve dependency 'Xamarin.Android.Support.v7.AppCompat (= 23.3.0.0)'.
Attempting to resolve dependency 'Xamarin.Android.Support.v4 (= 23.3.0.0)'.
Looking for updates for 'Xamarin.Android.Support.v7.MediaRouter'...
Updating 'Xamarin.Android.Support.v7.MediaRouter' from version '23.3.0.0' to '23.3.1.0' in project 'Todo.Droid'.
Updating 'Xamarin.Android.Support.v7.MediaRouter 23.3.0.0' to 'Xamarin.Android.Support.v7.MediaRouter 23.3.1.0' failed.
Unable to find a version of 'Xamarin.Forms' that is compatible with 'Xamarin.Android.Support.v7.MediaRouter 23.3.0.0'.

Из-за чего возникает эта ошибка?

Visual Studio для Mac (или Visual Studio) может указывать, что обновления доступны для Xamarin.Forms Пакет NuGet и все его зависимости. В Xamarin Studio узел пакетов решения может выглядеть следующим образом (номера версий могут отличаться):

Android Project Packages Folder

Эта ошибка может возникать при попытке обновить все пакеты.

Это связано с тем, что при использовании проектов Android, установленных для целевой или компиляции версии Android 6.0 (API 23) или ниже, Xamarin.Forms трудно зависеть от определенных версий пакетов поддержки Android. Хотя обновленные версии этих пакетов могут быть доступны, Xamarin.Forms не обязательно совместим с ними.

В этом случае следует обновить толькоXamarin.Forms пакет, так как это обеспечит сохранение зависимостей в совместимых версиях. Другие пакеты, добавленные в проект, также могут обновляться отдельно, пока они не вызывают обновления пакетов поддержки Android.

Примечание.

Если вы используете Xamarin.Forms версию 2.3.4 или более поздней, а для целевой или компиляции проекта Android задано значение Android 7.0 (API 24) или более поздней, то жесткие зависимости, упоминание выше, больше не применяются, и вы можете обновить пакеты поддержки независимо от Xamarin.Forms пакета.

Исправление. Удаление всех пакетов и повторное добавление Xamarin.Forms

Если пакеты Xamarin.Android.Support были обновлены до несовместимых версий, самым простым исправлением является:

  1. Вручную удалите все пакеты NuGet в проекте Android, а затем
  2. Повторно добавьте Xamarin.Forms пакет.

Это автоматически скачивает правильные версии других пакетов.