Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für: Paketerstellung • Unterstützte Versionen: 2.7+
Erstellt ein NuGet-Paket basierend auf der angegebenen NUSPEC - oder Projektdatei. Der dotnet pack Befehl (siehe dotnet-Befehle) und msbuild -t:pack (siehe MSBuild-Ziele) können als Alternative verwendet werden.
Wichtig
Verwenden oder dotnet packmsbuild -t:pack für PackageReference-basierte Projekte. Ab NuGet, Version 6.5+, tritt beim Packen dieser Projekttypen ein Fehler auf. Frühere Versionen würden versuchen, ein Paket zu packen, aber das generierte Paket ist möglicherweise nicht korrekt.
Unter Mono wird das Erstellen eines Pakets aus einer Projektdatei nicht unterstützt. Sie müssen auch nicht lokale Pfade in der .nuspec Datei an Unix-Stil-Pfade anpassen, da nuget.exe windows pathnames selbst nicht konvertiert.
Verbrauch
nuget pack <nuspecPath | projectPath> [options] [-Properties ...]
wobei <nuspecPath> und <projectPath> die Datei .nuspec bzw. die Projektdatei angeben.
Optionen
-BasePathDer Basispfad der in der .nuspec-Datei definierten Dateien.
-BuildGibt an, dass das Projekt vor dem Erstellen des Pakets erstellt werden soll.
-ConfigFileDie NuGet-Konfigurationsdatei. Wenn nicht angegeben,
%AppData%\NuGet\NuGet.Config(Windows) oder~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config(Mac/Linux) wird verwendet.-ExcludeGibt ein oder mehrere Wild Karte muster an, die beim Erstellen eines Pakets ausgeschlossen werden sollen. Wenn Sie mehrere Muster angeben möchten, wiederholen Sie das Flag "-Exclude". Siehe Beispiel unten.
-ExcludeEmptyDirectoriesVerhindert die Aufnahme leerer Verzeichnisse beim Erstellen des Pakets.
-ForceEnglishOutput(3.5+) Erzwingt die Ausführung der Anwendung mithilfe einer invarianten Kultur, die auf Englisch basiert.
-?|-helpDruckt Hilfeinformationen für den Befehl.
-IncludeReferencedProjectsGibt an, dass das integrierte Paket referenzierte Projekte entweder als Abhängigkeiten oder als Teil des Pakets enthalten soll. Wenn ein referenziertes Projekt über eine entsprechende
.nuspecDatei mit demselben Namen wie das Projekt verfügt, wird das referenzierte Projekt als Abhängigkeit hinzugefügt. Andernfalls wird das referenzierte Projekt als Teil des Pakets hinzugefügt.-InstallPackageToOutputPathGeben Sie an, ob der Befehl das Paketausgabeverzeichnis für die Unterstützung der Freigabe als Feed vorbereiten soll.
-MinClientVersionLegen Sie das minClientVersion-Attribut für das erstellte Paket fest. Dieser Wert überschreibt den Wert des vorhandenen minClientVersion-Attributs (sofern vorhanden) in der
.nuspecDatei.-MSBuildPath(4,0+) Gibt den Pfad von MSBuild an, der mit dem Befehl verwendet werden soll, und hat Vorrang vor
-MSBuildVersion.-MSBuildVersion(3.2+) Gibt die Version von MSBuild an, die mit diesem Befehl verwendet werden soll. Unterstützte Werte sind 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Standardmäßig wird "MSBuild" in Ihrem Pfad ausgewählt, andernfalls wird standardmäßig die höchste installierte Version von MSBuild verwendet.
-NoDefaultExcludesVerhindert den Standardausschluss von NuGet-Paketdateien und -dateien und -ordnern beginnend mit einem Punkt, z
.svn. B. und.gitignore.-NonInteractiveFordert nicht zu Eingaben oder Bestätigungen des Benutzers auf.
-NoPackageAnalysisGibt an, dass der Packvorgang keine Paketanalyse nach dem Erstellen des Pakets ausführen sollte.
-OutputDirectoryGibt den Ordner an, in dem das erstellte Paket gespeichert wird. Wird dieses Argument nicht angegeben, wird der aktuelle Ordner verwendet.
-OutputFileNamesWithoutVersionGeben Sie an, ob der Befehl den Paketausgabenamen ohne die Version vorbereiten soll.
-PackagesDirectoryGibt den Ordner "Pakete" an.
-p|-PropertiesSollte nach anderen Optionen auf der Befehlszeile zuletzt angezeigt werden. Gibt eine Liste von Eigenschaften an, die Werte in der Projektdatei überschreiben; siehe Allgemeine MSBuild-Projekteigenschaften für Eigenschaftennamen. Das Argument Eigenschaften ist hier eine Liste von Token=Wert-Paaren, die durch Semikolons getrennt sind, wobei jedes Vorkommen von
$token$in der Datei.nuspecdurch den angegebenen Wert ersetzt wird. Die Werte können Zeichenfolgen in Anführungszeichen sein. Beachten Sie, dass für die Eigenschaft "Configuration" der Standardwert "Debug" lautet. Um zu einer Release-Konfiguration zu wechseln, verwenden Sie-Properties Configuration=Release. Im Allgemeinen sollten Eigenschaften identisch sein, die während des entsprechenden Projektbuilds verwendet wurden, um potenziell seltsames Verhalten zu vermeiden.-SolutionDirectoryGibt das Lösungsverzeichnis an.
-Suffix(3.4.4+) Fügt ein Suffix an die intern generierte Versionsnummer an, die normalerweise zum Anfügen von Build- oder anderen Vorab-IDs verwendet wird. Die Verwendung
-suffix nightlyerstellt z. B. ein Paket mit einer Versionsnummer wie1.2.3-nightly. Suffixe müssen mit einem Buchstaben beginnen, um Warnungen, Fehler und potenzielle Inkompatibilitäten mit verschiedenen Versionen von NuGet und der NuGet-Paket-Manager zu vermeiden.-SymbolPackageFormatBeim Erstellen eines Symbolpakets können Sie zwischen dem
snupkgundsymbols.nupkgFormat wählen.-SymbolsGibt an, dass das Paket Quellen und Symbole enthält. Bei der Verwendung mit einer
.nuspec-Datei werden eine normale NuGet-Paketdatei und das entsprechende Symbolpaket erstellt. Standardmäßig wird ein Legacysymbolpaket erstellt. Das neue empfohlene Format für Symbolpakete ist „.snupkg“. Weitere Informationen finden Sie unter Erstellen von Symbolpaketen (.snupkg).-ToolGibt an, dass die Ausgabedateien des Projekts im Ordner
toolsdes Pakets abgelegt werden sollen.-Verbosity [normal|quiet|detailed]Gibt an, wie viele Details in der Ausgabe angezeigt werden:
normal(der Standard),quietoderdetailed.-VersionÜberschreibt die Versionsnummer aus der
.nuspecDatei.
Weitere Informationen finden Sie unter Umgebungsvariablen
Ausschließen von Entwicklungsabhängigkeiten
Einige NuGet-Pakete sind nützlich als Entwicklungsabhängigkeiten, die Ihnen beim Erstellen Ihrer eigenen Bibliothek helfen, aber nicht unbedingt als tatsächliche Paketabhängigkeiten erforderlich sind.
Der pack Befehl ignoriert package Einträge, in packages.config denen das developmentDependency Attribut auf true. Diese Einträge werden nicht als Abhängigkeiten im erstellten Paket eingeschlossen.
Betrachten Sie beispielsweise die folgende packages.config Datei im Quellprojekt:
<?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 dieses Projekt hat das erstellte nuget pack Paket eine Abhängigkeit jQuery von und microsoft-web-helpers nicht netfx-Guard.
Unterdrücken von Warnungen
Es wird empfohlen, alle NuGet-Warnungen während der Pack- und Wiederherstellungsvorgänge aufzulösen; in bestimmten Situationen wird deren Auflösung verlangt.
Auf diese Weise können Sie die folgenden Ziele erreichen:
nuget.exe pack package.nuspec -Properties NoWarn=NU5104
Beispiele
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"
Hinweis
Der pack Befehl für PROJEKTE im SDK-Stil wird nicht unterstützt, verwendet dotnet pack oder msbuild -t:pack packt diese Projekte stattdessen.