Tworzenie pakietu NuGet
Podczas pakowania biblioteki klas Razor otrzymujesz plik binarny, do którego można odwoływać się w projektach Blazor, a składniki w nim zawarte mogą być używane w tych projektach.
We wcześniejszej lekcji utworzono bibliotekę klas Razor z modalnym składnikiem, który dostarcza modalne okno dialogowe dla aplikacji Blazor. Aby udostępnić ten składnik do użycia w innych aplikacjach, należy spakować go i umieścić w repozytorium lub folderze, w którym inni deweloperzy mogą go uzyskać.
W tej lekcji zaktualizujesz ten projekt i wygenerujesz pakiet NuGet. Na koniec wdrożysz ten pakiet NuGet w aplikacji serwera Blazor.
Dodaj właściwości pakietu do FirstClassLibrary
Zacznij od zaktualizowania projektu FirstClassLibrary z właściwościami, które pozwolą na spakowanie go do wdrożenia jako pakietu NuGet.
Otwórz plik projektu dla projektu MyClassLibrary, klikając dwukrotnie projekt w Eksploratorze rozwiązań programu Visual Studio lub otwierając plik MyClassLibrary.csproj w programie Visual Studio Code.
W górnej części pliku w sekcji z tagiem
<PropertyGroup>
dodaj następującą zawartość przed tagiem zamykającym</PropertyGroup>
:<PackageId>My.FirstClassLibrary</PackageId> <Version>0.1.0</Version> <Authors>YOUR NAME</Authors> <Company>YOUR COMPANY NAME</Company> <Description>This is a Razor component library with a cool modal window component.</Description> </PropertyGroup>
Ten kod definiuje bibliotekę klas Razor jako bibliotekę klas o
<PackageId>
"My.FirstClassLibrary" i<Version>
0.1.0. Wprowadź własną nazwę i nazwę firmy w tych dwóch polach.
Spakuj bibliotekę do ponownego użycia
Następnie uruchom polecenie .NET w wierszu polecenia, aby spakować bibliotekę klas Razor, aby inne aplikacje spoza rozwiązania mogły się do niego odwoływać.
Te same kroki można wykonać w procesie ciągłej integracji, aby spakować bibliotekę i wdrożyć ją na NuGet.org, w repozytorium GitHub lub w innym miejscu, w którym twoja organizacja może ją udostępnić.
W tym samym folderze co plik MyClassLibrary.csproj uruchom następujące polecenie:
dotnet pack
To polecenie zapisuje plik o nazwie My.FirstClassLibrary.0.1.0.nupkg do folderu bin/Debug.
Dodawanie odwołania do pakietu NuGet w aplikacji MyBlazorServer
Odwołano się już do projektu FirstClassLibrary w aplikacji MyBlazorServer, ponieważ znajdowała się ona w tej samej strukturze folderów co aplikacja internetowa.
Teraz cofniesz odwołanie do tego projektu i dodasz odwołanie do utworzonego wcześniej pakietu NuGet.
Te kroki nie są typową konfiguracją. Projekty bibliotek, które znajdują się w tych samych folderach lub rozwiązaniu, co aplikacje, które chcą się do nich odwoływać, mogą odwoływać się bezpośrednio do projektu, jak pokazano w poprzednim ćwiczeniu.
Otwórz plik MyBlazorServer.csproj, klikając dwukrotnie nazwę projektu MyBlazor Server w programie Visual Studio lub otwierając plik w programie Visual Studio Code.
W pliku MyBlazorServer.csproj usuń następujący wiersz:
<ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />
W tym samym folderze co MyBlazorServer.csprojuruchom następujące polecenie:
dotnet add package My.FirstClassLibrary -s ..\FirstClassLibrary\bin\Debug
To polecenie pobiera utworzony wcześniej pakiet NuGet, instaluje kopię w lokalnej pamięci podręcznej pakietów NuGet, a następnie dodaje odwołanie do tego pakietu w pliku MyBlazorServer.csproj.
Sprawdź swoją pracę
Czy nowy pakiet został poprawnie zainstalowany? Czy można uruchomić aplikację FirstServer i zobaczyć modalne okno po uruchomieniu aplikacji?
Dowiedzmy się:
Uruchom aplikację MyBlazorServer w programie Visual Studio, wybierając pozycję F5 lub w folderze MyBlazorServer, uruchamiając następujące polecenie:
dotnet run
W przeglądarce przejdź do strony głównej aplikacji MyBlazorServer:
https://localhost:5000
.Czy wyświetlane jest okno Moje pierwsze okno modalne? Jeśli tak, gratulacje! Pomyślnie spakowałeś i wdrożyłeś projekt FirstClassLibrary. Wszystkie aplikacje mogą teraz używać składnika okna modalnego, odwołując się do nowo utworzonego pakietu NuGet.