Tworzenie pakietu NuGet
Podczas tworzenia pakietu biblioteki klas Razor otrzymujesz binarną bibliotekę, którą mogą wykorzystać inne projekty Blazor, a składniki w niej 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
Rozpocznij od zaktualizowania projektu FirstClassLibrary z właściwościami, które umożliwiają spakowanie go do wdrożenia jako pakietu NuGet.
Otwórz plik projektu dla projektu FirstClassLibrary . Kliknij dwukrotnie projekt w Eksploratorze rozwiązań programu Visual Studio lub otwórz plik FirstClassLibrary.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 FirstClassLibrary.csproj uruchom następujące polecenie:
dotnet pack
To polecenie zapisuje plik o nazwie My.FirstClassLibrary.0.1.0.nupkg do folderu bin/Release .
Dodawanie odwołania do pakietu NuGet w aplikacji MyBlazorApp
Odwołujesz się już do projektu FirstClassLibrary w aplikacji MyBlazorApp, ponieważ znajdowała się ona w tej samej strukturze folderów co aplikacja internetowa.
Teraz możesz cofnąć odwołanie do tego projektu i dodać odwołanie do utworzonego wcześniej pakietu NuGet.
Poniższe kroki nie opisują typowej konfiguracji. 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 MyBlazorApp.csproj , klikając dwukrotnie nazwę projektu MyBlazorApp w programie Visual Studio lub otwierając plik w programie Visual Studio Code.
W pliku MyBlazorApp.csproj usuń następujący wiersz:
<ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />W tym samym folderze co MyBlazorApp.csproj uruchom następujące polecenie:
dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/ReleaseTo 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 MyBlazorApp.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ę MyBlazorApp w programie Visual Studio, wybierając pozycję F5 lub w folderze MyBlazorApp, uruchamiając następujące polecenie:
dotnet runW przeglądarce przejdź do strony głównej aplikacji MyBlazorApp:
https://localhost:5000.Czy wyświetlane jest okno Moje pierwsze okno modalne? Jeśli tak, gratulacje! Pomyślnie spakowano i wdrożono projekt FirstClassLibrary. Wszystkie aplikacje mogą teraz używać składnika okna modalnego, odwołując się do nowo utworzonego pakietu NuGet.