Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Anmärkning
Följande visar kommandoradsexempel med unix. Kommandot dotnet pack som visas här fungerar på samma sätt i Windows.
.NET Standard- och .NET Core-bibliotek förväntas distribueras som NuGet-paket. Det är i själva verket så alla .NET Standard-bibliotek distribueras och används. Det är enklast att göra med dotnet pack kommandot .
Tänk dig att du just skrev ett fantastiskt nytt bibliotek som du vill distribuera via NuGet. Du kan skapa ett NuGet-paket med plattformsoberoende verktyg för att göra exakt det! I följande exempel förutsätts ett bibliotek med namnet SuperAwesomeLibrary som är avsett för netstandard1.0.
Om du har transitiva beroenden, dvs. ett projekt som är beroende av ett annat paket, måste du återställa paket för hela lösningen med dotnet restore kommandot innan du skapar ett NuGet-paket. Om du inte gör det kommer kommandot dotnet pack inte att fungera korrekt.
Du behöver inte köra dotnet restore eftersom den körs implicit av alla kommandon som kräver en återställning, till exempel dotnet new, dotnet build, dotnet run, dotnet test, dotnet publishoch dotnet pack. Om du vill inaktivera implicit återställning använder du alternativet --no-restore.
Kommandot dotnet restore är fortfarande användbart i vissa scenarier där det är meningsfullt att uttryckligen återställa, till exempel kontinuerliga integreringsversioner i Azure DevOps Services eller i byggsystem som uttryckligen behöver styra när återställningen sker.
Information om hur du hanterar NuGet-feeds finns i dotnet restore dokumentationen.
När du har kontrollerat att paketen har återställts kan du navigera till katalogen där ett bibliotek finns:
cd src/SuperAwesomeLibrary
Sedan är det bara ett enda kommando från kommandoraden:
dotnet pack
Mappen /bin/Debug ser nu ut så här:
$ ls bin/Debug
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
Detta skapar ett paket som kan felsökas. Om du vill skapa ett NuGet-paket med versionsbinärfiler behöver du bara lägga till växeln --configuration (eller -c) och använda release som argument.
dotnet pack --configuration release
Mappen /bin har nu en versionsmapp som innehåller ditt NuGet-paket med versionsbinärfiler:
$ ls bin/release
netstandard1.0/
SuperAwesomeLibrary.1.0.0.nupkg
SuperAwesomeLibrary.1.0.0.symbols.nupkg
Och nu har du de filer som krävs för att publicera ett NuGet-paket!
Blanda inte ihop dotnet pack med dotnet publish
Det är viktigt att observera att kommandot inte vid något tillfälle är involverat dotnet publish . Kommandot dotnet publish är till för att distribuera program med alla deras beroenden i samma paket – inte för att generera ett NuGet-paket som ska distribueras och användas via NuGet.