Tworzenie pakietu NuGet

Ukończone

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.

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

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

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

  2. W pliku MyBlazorServer.csproj usuń następujący wiersz:

    <ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />

  3. 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ę:

  1. Uruchom aplikację MyBlazorServer w programie Visual Studio, wybierając pozycję F5 lub w folderze MyBlazorServer, uruchamiając następujące polecenie:

    dotnet run

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