Kommentar
Å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.
Gäller för: skapa paket • Versioner som stöds: 2.7+
Skapar ett NuGet-paket baserat på den angivna .nuspec - eller projektfilen. Kommandot dotnet pack (se dotnet-kommandon) och msbuild -t:pack (se MSBuild-mål) kan användas som alternativ.
Important
Använd dotnet pack eller msbuild -t:pack för PackageReference-baserade projekt. Från och med NuGet version 6.5+ får packkommandot fel när du försöker packa dessa projekttyper. Tidigare versioner skulle försöka packa, men det genererade paketet kanske inte är korrekt.
Under Mono stöds inte skapandet av ett paket från en projektfil. Du måste också justera icke-lokala sökvägar i .nuspec filen till Unix-sökvägar eftersom nuget.exe inte konverterar Windows sökvägar.
Usage
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
var <nuspecPath> och <projectPath> ange .nuspec projektfilen eller .
Options
-BasePathAnger bassökvägen för de filer som definierats i .nuspec-filen .
-BuildAnger att projektet ska skapas innan paketet skapas.
-ConfigFileNuGet-konfigurationsfilen som ska tillämpas. Om det inte anges
%AppData%\NuGet\NuGet.Configanvänds (Windows) eller~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux).-Deterministic(7.9+) Skapa paket i deterministiskt läge. Detta ger bit-identiska paket för samma indata (källkod, projektfil, byggkonfiguration), med en känd varning om tidsstämplar. Se
DeterministicTimestamphur du återskapar med identiska datum/tider.-DeterministicTimestamp(7.9+) Ange en tidsstämpel som används som filändringsdatum/-tid för alla filer som läggs till i NuGet-paketet. Det kan vara ett datum/tid i RFC 3339-format (till exempel
1996-12-19T16:39:57-08:00), det kan vara antalet sekunder som inte är skott sekunder sedan 00:00:00 UTC den 1 januari 1970 (även kallat Unix-tid), eller det kan vara den speciella strängentrue(standard, använd den aktuella klocktiden för väggen) ellerfalseatt inte ändra filtider när du skapar deterministiska paket. Det här alternativet ignoreras omDeterministicdet inte är aktiverat.-ExcludeAnger ett eller flera jokerteckenmönster som ska undantas när du skapar ett paket. Om du vill ange fler än ett mönster upprepar du flaggan -Exclude. Se exemplet nedan.
-ExcludeEmptyDirectoriesFörhindrar inkludering av tomma kataloger när paketet skapas.
-ForceEnglishOutput(3.5+) Tvingar nuget.exe att köras med hjälp av en invariant, engelskbaserad kultur.
-?|-helpVisar hjälpinformation för kommandot.
-IncludeReferencedProjectsAnger att det byggda paketet ska innehålla refererade projekt antingen som beroenden eller som en del av paketet. Om ett refererat projekt har en motsvarande
.nuspecfil som har samma namn som projektet läggs det refererade projektet till som ett beroende. Annars läggs det refererade projektet till som en del av paketet.-InstallPackageToOutputPathAnge om kommandot ska förbereda paketets utdatakatalog för att stödja resursen som feed.
-MinClientVersionAnge attributet minClientVersion för det skapade paketet. Det här värdet åsidosätter värdet för det befintliga attributet minClientVersion (om det finns något) i
.nuspecfilen.-MSBuildPath(4.0+) Anger sökvägen till MSBuild som ska användas med kommandot och har företräde framför
-MSBuildVersion.-MSBuildVersion(3.2+) Anger vilken version av MSBuild som ska användas med det här kommandot. Värden som stöds är 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Som standard väljs MSBuild i sökvägen, annars är den den högsta installerade versionen av MSBuild som standard.
-NoDefaultExcludesFörhindrar standardundantag för NuGet-paketfiler och filer och mappar som börjar med en punkt, till exempel
.svnoch.gitignore.-NonInteractiveUndertrycker uppmaningar om användarindata eller bekräftelser.
-NoPackageAnalysisAnger att paketet inte ska köra paketanalys när paketet har skapats.
-OutputDirectoryAnger mappen där det skapade paketet lagras. Om ingen mapp har angetts används den aktuella mappen.
-OutputFileNamesWithoutVersionAnge om kommandot ska förbereda paketets utdatanamn utan versionen.
-PackagesDirectoryAnger paketmappen.
-p|-PropertiesSka visas sist på kommandoraden efter andra alternativ. Anger en lista med egenskaper som åsidosätter värden i filen project. Se Common MSBuild Project Egenskaper för egenskapsnamn. Argumentet Egenskaper här är en lista över token=value-par, avgränsade med semikolon, där varje förekomst av
$token$i.nuspecfilen ersätts med det angivna värdet. Värden kan vara strängar inom citattecken. Observera att för egenskapen "Konfiguration" är standardvärdet "Felsökning". Om du vill ändra till en versionskonfiguration använder du-Properties Configuration=Release. I allmänhet bör egenskaper vara samma som användes under motsvarande projektversion för att undvika potentiellt konstigt beteende.-SolutionDirectoryAnger lösningskatalogen.
-Suffix(3.4.4+) Lägger till ett suffix i det internt genererade versionsnumret, som vanligtvis används för att lägga till version eller andra förhandsversionsidentifierare. Om du till exempel använder
-suffix nightlyskapas ett paket med ett versionsnummer som1.2.3-nightly. Suffix måste börja med en bokstav för att undvika varningar, fel och potentiella inkompatibiliteter med olika versioner av NuGet och NuGet-Správca balíkov.-SymbolPackageFormatNär du skapar ett symbolpaket kan du välja mellan
snupkgformatet ochsymbols.nupkg.-SymbolsAnger att paketet innehåller källor och symboler. När den används med en
.nuspecfil skapas en vanlig NuGet-paketfil och motsvarande symbolpaket. Som standard skapas ett äldre symbolpaket. Det nya rekommenderade formatet för symbolpaket är .snupkg. Se Skapa symbolpaket (.snupkg).-ToolAnger att utdatafilerna för projektet ska placeras i mappen i
toolspaketet.-Verbosity [normal|quiet|detailed]Anger mängden information som visas i utdata:
normal(standard),quiet, ellerdetailed.-VersionÅsidosätter versionsnumret från
.nuspecfilen.
Se även Miljövariabler
Exkluderande utvecklingsberoenden
Vissa NuGet-paket är användbara som utvecklingsberoenden, som hjälper dig att skapa ditt eget bibliotek, men som inte nödvändigtvis behövs som faktiska paketberoenden.
Kommandot pack ignorerar poster i packages.config som har developmentDependency attributet inställt på truepackage . Dessa poster inkluderas inte som beroenden i det skapade paketet.
Tänk till exempel på följande packages.config fil i källprojektet:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="jQuery" version="1.5.2" />
<package id="netfx-Guard" version="1.3.3.2" developmentDependency="true" />
<package id="microsoft-web-helpers" version="1.15" />
</packages>
För det här projektet kommer paketet som skapas av nuget pack att ha ett beroende av jQuery och microsoft-web-helpers men inte netfx-Guard.
Ignorera packvarningar
Vi rekommenderar att du löser alla NuGet-varningar under din paketåtgärd, men i vissa situationer är det motiverat att ignorera dem.
Du kan uppnå det på följande sätt:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Exempel
nuget pack
nuget pack foo.nuspec
nuget pack foo.csproj
nuget pack foo.csproj -Properties Configuration=Release
nuget pack foo.csproj -Build -Symbols -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.csproj, using MSBuild version 12 to build the project
nuget pack foo.csproj -Build -Symbols -MSBuildVersion 12 -Properties owners=janedoe,xiaop;version="1.0.5"
# Create a package from project foo.nuspec and the corresponding symbol package using the new recommended format .snupkg
nuget pack foo.nuspec -Symbols -SymbolPackageFormat snupkg
nuget pack foo.nuspec -Version 2.1.0
nuget pack foo.nuspec -Version 1.0.0 -MinClientVersion 2.5
nuget pack Package.nuspec -exclude "*.exe" -exclude "*.bat"
Note
Kommandot pack för SDK-projekt stöds inte, använd dotnet pack eller msbuild -t:pack för att packa dessa projekt i stället.