Så här skapar du ett NuGet-paket med .NET CLI
Kommentar
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 netstandard1.0
för .
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 publish
och 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 dokumentationendotnet restore
.
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 kopplas från. 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.
Se även
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för