Skapa ett NuGet-paket
När du paketerar razor-klassbiblioteket har du en binär slutprodukt som andra Blazor-projekt kan referera till och komponenterna i det kan användas i dessa projekt.
I en tidigare lektion skapade du ett Razor-klassbibliotek med en modal komponent som levererar ett modalt dialogfönster för Blazor-program. Om du vill dela komponenten för användning i andra program måste du paketera och placera den i antingen en lagringsplats eller en mapp där andra utvecklare kan hämta den.
I den här lektionen uppdaterar du projektet och genererar ett NuGet-paket. Slutligen distribuerar du NuGet-paketet till ditt Blazor-serverprogram.
Lägga till paketegenskaper i FirstClassLibrary
Börja med att uppdatera FirstClassLibrary-projektet med egenskaper som gör att det kan paketeras för distribution som ett NuGet-paket.
Öppna projektfilen för FirstClassLibrary-projektet . Dubbelklicka antingen på projektet i Visual Studio Solution Explorer eller öppna filen FirstClassLibrary.csproj i Visual Studio Code.
I avsnittet med taggen
<PropertyGroup>överst i filen lägger du till följande innehåll före den avslutande</PropertyGroup>taggen:<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>Den här koden definierar ditt Razor-klassbibliotek med
<PackageId>"My.FirstClassLibrary" och<Version>0.1.0. Ange ditt eget namn och företagsnamn i de två fälten.
Paketera biblioteket för återanvändning
Därefter kör du .NET-kommandot på kommandoraden för att paketera Razor-klassbiblioteket så att andra program utanför lösningen kan referera till det.
Du kan köra samma steg i din kontinuerliga integreringsprocess för att paketera ett bibliotek och distribuera det till NuGet.org, en GitHub-lagringsplats eller en annan plats som din organisation kan dela.
Kör följande kommando i samma mapp som filen FirstClassLibrary.csproj :
dotnet pack
Det här kommandot skriver en fil med namnet My.FirstClassLibrary.0.1.0.nupkg till mappen bin/Release .
Lägg till en referens till NuGet-paketet i MyBlazorApp-programmet
Du refererade redan till FirstClassLibrary-projektet i ditt MyBlazorApp-program eftersom det låg i samma mappstruktur som webbprogrammet.
Nu kan du ångra projektreferensen och lägga till en referens till NuGet-paketet som du skapade tidigare.
Följande steg beskriver inte en typisk konfiguration. Biblioteksprojekt som finns i samma mappar eller lösning som de program som vill referera till dem kan referera till projektet direkt, som du såg i den tidigare övningen.
Öppna filen MyBlazorApp.csproj antingen genom att dubbelklicka på projektnamnet MyBlazorApp i Visual Studio eller genom att öppna filen i Visual Studio Code.
Ta bort följande rad i filen MyBlazorApp.csproj :
<ProjectReference Include="..\FirstClassLibrary\FirstClassLibrary.csproj" />Kör följande kommando i samma mapp som MyBlazorApp.csproj:
dotnet add package My.FirstClassLibrary -s ../FirstClassLibrary/bin/ReleaseDet här kommandot hämtar NuGet-paketet som du skapade tidigare, installerar en kopia i din lokala NuGet-paketcache och lägger sedan till en referens till paketet i filen MyBlazorApp.csproj .
Kontrollera ditt arbete
Har det nya paketet installerats korrekt? Kan du starta FirstServer-programmet och se ett modalt fönster när programmet startar?
Låt oss ta reda på följande:
Starta Programmet MyBlazorApp antingen i Visual Studio genom att välja F5 eller i mappen MyBlazorApp genom att köra följande kommando:
dotnet runI webbläsaren går du till startsidan för Programmet MyBlazorApp:
https://localhost:5000.Visas dialogrutan Min första modala dialog-dialogen? I så fall, grattis! Du har paketerat och distribuerat FirstClassLibrary-projektet korrekt. Program överallt kan nu använda din modala fönsterkomponent genom att referera till ditt nyligen skapade NuGet-paket.