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
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ę Pojedynczy dla wszystkich platform:
Wykonaj kroki kreatora. W rozwiązaniu zostanie utworzony pojedynczy projekt biblioteki.
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:
Ponadto w oknie Opcje projektu otwórz sekcję Metadane pakietu > NuGet i wprowadź wymagane metadane (a także wszelkie opcjonalne metadane):
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):
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:
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...:
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:
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).