Tworzenie nowych projektów bibliotek specyficznych dla platformy dla pakietu NuGet
Projekty bibliotek wieloplatformowych przeznaczone dla określonych platform, takich jak iOS i Android, działają najlepiej z projektami udostępnionymi.
Pakiet NuGet może zawierać zarówno kod specyficzny dla systemów iOS, jak i Android, a także kod platformy .NET wspólny dla obu tych elementów.
Wiele zestawów jest tworzonych i wbudowanych w jeden pakiet NuGet. Standardy NuGet zapewniają, że pakiet można dodać do wszystkich obsługiwanych typów projektów, takich jak projekty Xamarin.iOS i Android.
Kroki tworzenia biblioteki NuGet dla wielu platform
Wybierz pozycję Plik > nowe rozwiązanie (lub kliknij prawym przyciskiem myszy istniejące rozwiązanie i wybierz polecenie Dodaj > nowy projekt).
Wybierz pozycję Biblioteka wieloplatformowa w sekcji Biblioteka wieloplatformowa>:
Wprowadź nazwę i opis, a następnie wybierz pozycję Specyficzne dla platformy:
Wykonaj kroki kreatora. Do rozwiązania są dodawane następujące projekty:
- Android Project — kod specyficzny dla systemu Android można opcjonalnie dodać do tego projektu.
- Projekt systemu iOS — kod specyficzny dla systemu iOS można opcjonalnie dodać do tego projektu.
- NuGet Project — nie dodano kodu do tego projektu. Odwołuje się do innych projektów i zawiera konfigurację metadanych dla danych wyjściowych pakietu NuGet.
- Udostępniony projekt — do tego projektu należy dodać wspólny kod, w tym kod specyficzny dla platformy w
#if
dyrektywach kompilatora.
Kliknij prawym przyciskiem myszy projekt NuGet i wybierz pozycję Opcje, a następnie otwórz sekcję Metadane pakietu > NuGet i wprowadź wymagane metadane (a także wszelkie opcjonalne metadane):
Ponadto w oknie Opcje projektu otwórz sekcję Zestawy referencyjne i wybierz profile PCL obsługiwane przez bibliotekę udostępnioną za pośrednictwem "przynęty i przełącznika":
Uwaga
"Przynęta i przełącznik" oznacza, że zestawy PCL będą zawierać tylko interfejs API uwidoczniony przez bibliotekę (nie może zawierać kodu specyficznego dla platformy). Po dodaniu pakietu NuGet do projektu platformy Xamarin biblioteki udostępnione zostaną skompilowane względem bibliotek PCL, ale zestawy specyficzne dla platformy zawierają kod, który jest faktycznie używany przez projekt systemu iOS lub Android.
Kliknij prawym przyciskiem myszy projekt i wybierz polecenie Utwórz pakiet NuGet (lub skompiluj lub wdróż rozwiązanie), a plik pakietu NuGet nupkg zostanie zapisany w folderze /bin/ (debugowanie lub wydanie, w zależności od konfiguracji).
Weryfikowanie danych wyjściowych
Pakiety NuGet są również plikami ZIP, więc można sprawdzić wewnętrzną strukturę wygenerowanego pakietu.
Ten zrzut ekranu przedstawia zawartość pakietu NuGet specyficznego dla platformy, który obsługuje systemy iOS i Android, i ma wybrane dwa zestawy referencyjne: