Paketera ett Razor-klassbibliotek
- 3 minuter
En uppgift som du ofta behöver utföra är att paketera bibliotek för återanvändning av andra utvecklare. NuGet-paketering gör det enkelt för alla utvecklare att skaffa och konfigurera alla .NET-referenser för sina program korrekt.
I föregående lektion skapade du din modala dialogkomponent och använde den i ditt eget program. Nu vill du återanvända den i andra program.
I den här lektionen får du lära dig de steg som krävs för att konfigurera ett Razor-klassbibliotek som ett NuGet-paket. Du får också lära dig hur du paketerar biblioteket för distribution med hjälp av en paketlagringsplatstjänst, till exempel NuGet.org eller GitHub-lagringsplatser.
Konfigurera ett Razor-klassbibliotek för NuGet-paketering
.NET-ekosystemet gör det enkelt att definiera de egenskaper som krävs för att andra utvecklare ska kunna identifiera och använda dina komponenter. Du kan definiera alla dessa egenskaper i projektfilen (*.csproj) för razor-klassbiblioteket så att de reser med biblioteket. Egenskaperna uppdateras sedan på lämpligt sätt när biblioteket uppdateras.
Du kan konfigurera fält som identifierar ditt paket i dialogrutan Visual Studio Project Properties – Package eller skapa poster direkt i *.csproj filen själv.
De fyra fält som krävs för att skapa ett paket är:
| Fält | Beskrivning | Standardvärde |
|---|---|---|
| Paket-ID | En paketidentifierare som är unik för hela NuGet-lagringsplatsen. |
AssemblyName av biblioteket |
| Version | Ett specifikt versionsnummer i formuläret Major.Minor.Patch[-Suffix], där -Suffix eventuellt definierar förhandsversioner. | 1.0.0 |
| Författare | Paketförfattarna. | AssemblyName |
| Företag | Namnet på det företag som ansvarar för att skapa och publicera paketet. | AssemblyName |
Vissa av dessa fält har standardvärden och det kan se roligt ut att publicera ett paket med företagsnamnet MyFirstLibrary. Vi rekommenderar starkt att du uttryckligen definierar dessa värden.
I föregående lektion lärde du dig att det statiska innehållet i ett Razor-klassbibliotek är tillgängligt på _content/[PACKAGE_ID]/och nu ser du var värdet för PackageId har konfigurerats.
En exempelprojektfil med dessa värden konfigurerade kan se ut som i följande exempel:
<PropertyGroup>
<PackageId>Learn.MyFirstLibrary</PackageId>
<Version>0.1.0-alpha1</Version>
<Authors>Susan Developer, Terry Programmer</Authors>
<Company>AdventureWorks</Company>
</PropertyGroup>
När du skapar projektet kan du också konfigurera det så att det genererar ett NuGet-paket, antingen genom att välja alternativet För att generera NuGet-paket på Build i dialogrutan Egenskaper för Visual Studio-projekt eller genom att lägga till en GeneratePackageOnBuild post bredvid de andra paketfälten, som du ser här:
<GeneratePackageOnBuild>True</GeneratePackageOnBuild>
Du kan konfigurera många valfria projektegenskaper, bland annat:
- En
Descriptionsom är lämplig för visning på NuGet-lagringsplatsen - Ett upphovsrättsmeddelande
- Licensieringsinformation
- Ikoner
- Projekt-URL:er
En fullständig lista över egenskaper finns i Microsoft-dokumentationen för MSBuild-paketmål.
Paketera biblioteket
När du har skrivit bibliotekskonfigurationen i filen *.csproj kan du generera NuGet-paketet antingen i Visual Studio genom att högerklicka på projektet och välja kommandot Pack eller i projektmappen genom att köra följande kommando:
dotnet pack
Det här dotnet pack-kommandot genererar ett paket med PackageID och versionsnumret och placerar det i utdatamappen för standardprojektbygget.
Kontrollera dina kunskaper
Feedback
Var den här sidan till hjälp?
No
Behöver du hjälp med det här ämnet?
Vill du prova att använda Fråga Lär för att klargöra eller vägleda dig genom det här ämnet?