Udostępnij za pośrednictwem


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

  1. Wybierz pozycję Plik > nowe rozwiązanie (lub kliknij prawym przyciskiem myszy istniejące rozwiązanie i wybierz polecenie Dodaj > nowy projekt).

  2. Wybierz pozycję Biblioteka wieloplatformowa w sekcji Biblioteka wieloplatformowa>:

    Configure multi-platform library for a single code base

  3. Wprowadź nazwę i opis, a następnie wybierz pozycję Specyficzne dla platformy:

    Configure platform-specific library for iOS and Android

  4. 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.
  5. 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):

    Enter required metadata

  6. 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":

    Also in the Project Options window, open the Reference Assemblies section and choose which PCL profiles the shared library will support via bait and switch

    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.

  7. 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).

    NuGet package file will be saved in the bin folder either Debug or Release, depending on configuration

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:

Files contained in the NuGet package