.NET Core - udostępnianie bibliotek

W tym rozdziale omówimy, jak udostępniać swoją bibliotekę jako NuGet Packagetak, aby można go było wykorzystać w innym projekcie. Tworzenie pakietu rozpoczyna się od kodu, który chcesz spakować i udostępnić innym, za pośrednictwem publicznej galerii NuGet.org lub prywatnej galerii w Twojej organizacji. Pakiet może również zawierać dodatkowe pliki, takie jakreadme który jest wyświetlany po zainstalowaniu pakietu i może zawierać transformacje do niektórych plików projektu.

Rozważmy teraz prosty przykład, w którym utworzymy pakiet NuGet z naszej biblioteki. Aby to zrobić, otwórz wiersz polecenia i przejdź do folderu, w którym znajduje się plik project.json projektu biblioteki.

Uruchommy teraz następujące polecenie.

dotnet help

Na końcu możesz zobaczyć różne polecenia, takie jak nowe, przywracanie i budowanie itp.

Ostatnim poleceniem jest pack;spowoduje to utworzenie pakietu NuGet. Wykonajmy teraz następujące polecenie.

dotnet pack

Teraz możesz zobaczyć, że pakiety NuGet są tworzone w folderze bin; pozwól nam otworzyć folder bin \ Debug.

Teraz pytanie brzmi, co znajduje się w pakietach NuGet, aby zobaczyć, że możemy użyć Eksploratora pakietów NuGet. Otwórzmy teraz Eksploratora pakietów NuGet.

Wybierz pierwszą opcję Open a local package.

Wybierz StringLibrary.1.0.0.nupkg i kliknij Open.

Widać, że w sekcji Zawartość pakietu mamy tylko StringLibrary.dll. W sekcji Metadane pakietu zobaczysz trochę informacji o tej bibliotece, takich jak identyfikator, wersje i wszystkie zależności.

Otwórzmy teraz plik StringLibrary.1.0.0.symbols.nupkg.

W tym pakiecie NuGet zobaczysz pliki źródłowe i *.pdbplik. Jeśli klikniesz dwukrotnie plikStringLib.cs plik, zobaczysz również kod źródłowy.

Tutaj pytanie brzmi, jak skonfigurować metadane, takie jak wersja, autorzy i opis itp.

Plik project.json jest używany w projektach .NET Core do definiowania metadanych projektu, informacji o kompilacji i zależności. Otwórzmy teraz plik project.json i dodajmy następujące dodatkowe informacje.

{ 
   "authors": [ "Mark Junior" ], 
   "description": "String Library API", 
   "version" : "1.0.1-*", 
   "supports": {}, 
   
   "dependencies": { 
      "Microsoft.EntityFrameworkCore": "1.1.0", 
      "Microsoft.NETCore.Portable.Compatibility": "1.0.1", 
      "NETStandard.Library": "1.6.0", 
      "System.Runtime.Serialization.Json": "4.0.3", 
      "System.Runtime.Serialization.Primitives": "4.3.0" 
   }, 
   "frameworks": { 
      "netstandard1.3": {} 
   } 
}

Możesz teraz zobaczyć dodatkowe informacje, takie jak nazwa autora, opis i wersja dodana tutaj. Zapiszmy ten plik, skompilujmy projekt biblioteki, a następnie ponownie wykonaj polecenie „dotnet pack”.

W folderze bin \ Debug widać, że pakiety NuGet StringLibrary są tworzone w wersji 1.0.1; pozwól nam otworzyć go w Eksploratorze pakietów NuGet.

Zobaczysz zaktualizowane metadane. Pytanie brzmi, jak możemy go wykorzystać w innym pakiecie.

Musimy zacząć od opublikowania gdzieś w kanale NuGet, a następnie możemy wykorzystać go w innym projekcie.

Istnieją dwie opcje publikowania zaktualizowanych metadanych -

  • Opublikuj go w witrynie nuget.org
  • Wypchnij metadane do prywatnego źródła danych NuGet

Tutaj będziemy używać prywatnego źródła danych NuGet, ponieważ jest to o wiele łatwiejsze niż skonfigurowanie konta w witrynie NuGet.org. Aby dowiedzieć się, jak opublikować pakiet w witrynie nuget.org, możesz postępować zgodnie ze wszystkimi wytycznymi określonymi tutajhttps://docs.microsoft.com/en-us/nuget/create-packages/publish-a-package.

Wykonaj następujące kroki, aby wypchnąć zaktualizowane metadane do prywatnego źródła danych NuGet.

Step 1- Na początek potrzebujemy narzędzia wiersza poleceń nuget i musimy je zainstalować. Otwórzmy teraz Menedżera pakietów NuGet i wyszukaj nuget.commandline.

Step 2 - Wybierz Nuget.Commandline i kliknij Install.

Step 3 - Kliknij OKzainstalować Nuget.Commandline. Możesz również zainstalować go ręcznie, pobierając go z następującego adresu URLhttps://dist.nuget.org/index.html a następnie skonfiguruj zmienną środowiskową.

Step 4 - Po zakończeniu instalacji otwórzmy ponownie wiersz polecenia i przejdź do pliku bin\Debug folder, w którym znajdują się pakiety NuGet, i określ następujące polecenie -

nuget add StringLibrary.1.0.1.nupkg -Source D:\PrivateNugetPackages

Step 5 - W powyższym poleceniu dodajemy pakiet StringLibrary.1.0.1.nupkg do naszego prywatnego kanału, a lokalizacja jest D:\PrivateNugetPackages, -Source określa źródło pakietu.

Step 6 - Widzisz, że StringLibraryjest zainstalowane; theStringLibrary można dodać do prywatnego kanału.

Step 7 - Przejdźmy do tego folderu.

Step 8 - Wewnątrz stringlibrary folder, zobaczysz inny folder z nazwą wersji, a tutaj jest to 1.0.1.

Pakiet NuGet znajduje się tutaj.