Tworzenie pakietu NuGet
Podczas tworzenia pakietu biblioteki klas Razor masz binarny element dostarczany, do którego można odwoływać się w projektach platformy Blazor, a składniki w nim 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.
Dodawanie właściwości pakietu do klasy FirstClassLibrary
Zacznij od zaktualizowania projektu FirstClassLibrary z właściwościami, które umożliwią spakowanie go do wdrożenia jako pakietu NuGet.
Otwórz plik projektu dla projektu MyClassLibrary, klikając dwukrotnie projekt w programie Visual Studio Eksplorator rozwiązań 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
<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ą w NuGet.org, repozytorium GitHub lub inną lokalizację, w której organizacja ma zostać udostępniona.
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 MyBlazorServer 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.csproj uruchom 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 zostanie wyświetlone okno dialogowe Moje pierwsze modalne okno dialogowe? Jeśli tak, gratulacje! Pomyślnie spakowaliśmy i wdrożono poprawnie projekt FirstClassLibrary . Aplikacje wszędzie mogą teraz używać składnika modalnego okna, odwołując się do nowo utworzonego pakietu NuGet.