Udostępnij za pośrednictwem


Tworzenie nowej biblioteki wieloplatformowej dla pakietu NuGet

Utworzenie projektu biblioteki wieloplatformowej korzystającego z biblioteki PCL lub .NET Standard oznacza, że wynikowy pakiet NuGet można dodać do dowolnego projektu platformy .NET obsługującego profil docelowy, w tym projektów ASP.NET lub aplikacji klasycznych przy użyciu narzędzi WinForms, WPF lub UWP.

Biblioteka może zawierać tylko kod obsługiwany przez wybrany profil PCL lub .NET Standard, a także inne dodane pakiety NuGet. Jest to odpowiednie dla logiki biznesowej i algorytmów, które można wyrazić w całości w bibliotece klas bazowych platformy .NET.

Pojedynczy zestaw jest tworzony i wbudowany w pakiet NuGet.

Jeśli później potrzebujesz funkcji specyficznych dla platformy, można dodać projekty specyficzne dla platformy.

Kroki tworzenia wieloplatformowej biblioteki NuGet

  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>:

    Screenshot shows Choose a template with Multiplatform Library selected.

  3. Wprowadź nazwę i opis, a następnie wybierz pozycję Pojedynczy dla wszystkich platform:

    Screenshot shows values entered for Name, Description, and Implementation.

  4. Wykonaj kroki kreatora. W rozwiązaniu zostanie utworzony pojedynczy projekt biblioteki.

  5. Kliknij prawym przyciskiem myszy nowy projekt biblioteki, a następnie wybierz pozycję Opcje. Sekcja Ogólne kompilacji > umożliwia ustawienie platformy docelowej — wybierz profil PCL przenośny platformy .NET lub wersję platformy .NET Standard:

    Choose PCL or .NET Standard for library type

  6. Ponadto w oknie Opcje projektu otwórz sekcję Metadane pakietu > NuGet i wprowadź wymagane metadane (a także wszelkie opcjonalne metadane):

    Enter required metadata

  7. Kliknij prawym przyciskiem myszy projekt biblioteki 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):

    The 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 opartego na języku PCL — uwzględniony jest tylko jeden zestaw PCL:

Files contained in the NuGet package

Dodawanie kodu specyficznego dla platformy

Projekty oparte na technologii PCL i projekty oparte na platformie .NET Standard nie mogą zawierać odwołań specyficznych dla platformy (takich jak funkcje systemu iOS lub Android).

Jeśli istniejący projekt PCL lub projekt .NET Standard musi zostać rozszerzony w celu uwzględnienia kodu specyficznego dla platformy, można to zrobić, klikając projekt prawym przyciskiem myszy i wybierając polecenie Dodaj > implementację platformy...:

Add platform implementation menu

Co najmniej jeden projekt platformy można dodać do rozwiązania, a istniejąca biblioteka PCL lub .NET Standard można opcjonalnie przekonwertować na udostępniony projekt:

Add platform options such as iOS, Android, and Shared Project

Po przekonwertowaniu na udostępniony projekt odwiedź sekcję Zestawyodwołań pakietów NuGet Opcji > projektu i upewnij się, że wybrano wszystkie wymagane profile (tak aby pakiet NuGet > był nadal zgodny z projektami, w których wcześniej był używany).