Udostępnij za pośrednictwem


Rozwiązywanie problemów Xamarin.Forms

Typowe warunki błędów i sposoby ich rozwiązywania

Błąd: "Nie można odnaleźć wersji zgodnej Xamarin.Forms z..."

Następujące błędy mogą pojawić się w oknie Konsola pakietu podczas aktualizowania wszystkich pakietów NuGet w Xamarin.Forms rozwiązaniu lub w Xamarin.Forms projekcie aplikacji systemu 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'.

Co powoduje ten błąd?

Visual Studio dla komputerów Mac (lub Visual Studio) może wskazywać, że aktualizacje są dostępne dla Xamarin.Forms Pakiet NuGet i wszystkie jego zależności. W programie Xamarin Studio węzeł Pakiety rozwiązania może wyglądać następująco (numery wersji mogą być różne):

Android Project Packages Folder

Ten błąd może wystąpić, jeśli próbujesz zaktualizować wszystkie pakiety.

Dzieje się tak, ponieważ w przypadku projektów systemu Android ustawionych na docelową/skompilowana wersję systemu Android 6.0 (API 23) lub nowszą, Xamarin.Forms ma stałą zależność od określonych wersji pakietów obsługi systemu Android. Chociaż zaktualizowane wersje tych pakietów mogą być dostępne, Xamarin.Forms niekoniecznie jest z nimi zgodne.

W takim przypadku należy zaktualizować tylkoXamarin.Forms pakiet, ponieważ zapewni to, że zależności pozostaną zgodne wersje. Inne pakiety dodane do projektu mogą być również aktualizowane indywidualnie, o ile nie powodują aktualizacji pakietów pomocy technicznej systemu Android.

Uwaga

Jeśli używasz Xamarin.Forms wersji 2.3.4 lub nowszej , a docelowa/skompilowana wersja projektu systemu Android jest ustawiona na android 7.0 (interfejs API 24) lub nowszy, to twarde zależności wymienione powyżej nie mają już zastosowania i możesz zaktualizować pakiety pomocy technicznej niezależnie od Xamarin.Forms pakietu.

Poprawka: Usuń wszystkie pakiety i ponownie dodaj Xamarin.Forms

Jeśli pakiety Xamarin.Android.Support zostały zaktualizowane do niezgodnych wersji, najprostszą poprawką jest:

  1. Ręcznie usuń wszystkie pakiety NuGet w projekcie systemu Android, a następnie
  2. Ponownie dodaj Xamarin.Forms pakiet.

Spowoduje to automatyczne pobranie poprawnych wersji innych pakietów.