.NET Core - rozwiązywanie problemów z językiem PCL
W tym rozdziale naprawimy błąd, który napotkaliśmy podczas instalowania pakietu NuGet z naszego prywatnego źródła w projekcie Xamarin.Forms.
W dalszej części wyjaśnimy krótko problem. Na początek kliknij prawym przyciskiem myszy bibliotekę PCL i wybierz Właściwości.
Na tej stronie zobaczysz całą serię docelowych frameworków. Na podstawie błędu widać, że profil .NETPortable 259 nie jest zgodny z naszą biblioteką StringLibrary 1.0.1. Jednak próbuje pobrać odniesienie z biblioteki .NET Standard 1.1.
Zobaczmy teraz standardową bibliotekę .NET i określmy, która platforma nie jest kompatybilna z naszą biblioteką.
Widać, że Windows Phone Silverlight 8 jest kompatybilny z .NET Standard 1.0. Jeśli otworzysz następującą stronę internetową, zobaczysz, że Profile259 obsługuje tylko .NET Standard 1.0.
Usuńmy teraz zaznaczenie opcji Windows Phone Silverlight 8.
Kliknij OK przycisk.
Teraz, aby rozwiązać ten problem, kliknij OK i anuluj okno dialogowe Zmień cele, a następnie otwórz konsolę Menedżera pakietów i wykonaj następujące polecenie.
PM > Uninstall-Package Xamarin.Forms
Przejdźmy teraz do Właściwości biblioteki PCL. Kliknij przycisk Zmień.
Usuń zaznaczenie opcji Windows Phone Silverlight 8 i kliknij przycisk OK.
Możesz teraz zobaczyć, że Windows Phone Silverlight 8 nie jest już dostępny w platformie docelowej. Możesz również zobaczyć profil, który jest teraz celem. Aby to zobaczyć, zwolnijmy bibliotekę PCL i edytuj plik XamarinApp.csproj.
Możesz teraz zobaczyć, że TargetFrameworkProfile to teraz Profile111.
Jeśli otworzysz dokumentację, zobaczysz, że Profile111 obsługuje .NET Standard 1.1.
Załadujmy teraz ponownie PCL i otwórz Menedżera pakietów NuGet i spróbuj zainstalować pakiet StringLibrary z prywatnego źródła.
Z listy rozwijanej Zachowanie zależności wybierz opcję Ignoruj zależności, a następnie kliknij przycisk Install.
Możesz zobaczyć, że pakiet StringLibrary jest teraz instalowany z prywatnego źródła. Jeśli rozwiniesz References of PCL, zobaczysz, że odwołanie do StringLibrary również zostało dodane, jak pokazano poniżej.
Odinstalowaliśmy Xamarin.Forms dla problemu z Windows Phone Silverlight 8. Należy ponownie zainstalować Xamarin.Forms. Zaleca się zainstalowanie tej samej wersji.
Po zakończeniu instalacji skorzystajmy z funkcji StringLibrary w Twojej aplikacji.