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