Pack-Befehl (nuget-CLI)pack command (NuGet CLI)

Gilt für: von der Paket Erstellung • unterstützte Versionen: 2.7 +Applies to: package creation • Supported versions: 2.7+

Erstellt ein nuget-Paket auf der Grundlage der angegebenen . nuspec -oder Projektdatei.Creates a NuGet package based on the specified .nuspec or project file. Der dotnet pack -Befehl (siehe dotnet-Befehle) und msbuild -t:pack (siehe MSBuild-Ziele) können als Alternativen verwendet werden.The dotnet pack command (see dotnet Commands) and msbuild -t:pack (see MSBuild targets) may be used as alternates.

Wichtig

Verwenden Sie dotnet pack oder msbuild -t:pack für packagereferenzierungsbasierte Projekte.Use dotnet pack or msbuild -t:pack for PackageReference based projects. Unter Mono wird das Erstellen eines Pakets aus einer Projektdatei nicht unterstützt.Under Mono, creating a package from a project file is not supported. Außerdem müssen Sie nicht lokale Pfade in der .nuspec Datei an Pfade im Unix-Stil anpassen, da nuget.exe keine Windows-Pfadnamen selbst konvertiert.You also need to adjust non-local paths in the .nuspec file to Unix-style paths, as nuget.exe doesn't convert Windows pathnames itself.

VerwendungUsage

nuget pack <nuspecPath | projectPath> [options] [-Properties ...]

dabei <nuspecPath> <projectPath> Geben Sie die-oder- .nuspec Projektdatei an.where <nuspecPath> and <projectPath> specify the .nuspec or project file, respectively.

OptionenOptions

  • -BasePath

    Legt den Basispfad der in der nuspec -Datei definierten Dateien fest.Sets the base path of the files defined in the .nuspec file.

  • -Build

    Gibt an, dass das Projekt erstellt werden soll, bevor das Paket erstellt wird.Specifies that the project should be built before building the package.

  • -ConfigFile

    Die anzuwendende nuget-Konfigurationsdatei.The NuGet configuration file to apply. Wenn nichts angegeben ist, %AppData%\NuGet\NuGet.Config wird (Windows) ~/.nuget/NuGet/NuGet.Config oder ~/.config/NuGet/NuGet.Config (Mac/Linux) verwendet.If not specified, %AppData%\NuGet\NuGet.Config (Windows), or ~/.nuget/NuGet/NuGet.Config or ~/.config/NuGet/NuGet.Config (Mac/Linux) is used.

  • -Exclude

    Gibt ein oder mehrere Platzhalter Muster an, die beim Erstellen eines Pakets ausgeschlossen werden sollen.Specifies one or more wildcard patterns to exclude when creating a package. Wenn Sie mehr als ein Muster angeben möchten, wiederholen Sie das Flag-Exclude.To specify more than one pattern, repeat the -Exclude flag. Ein Beispiel sehen Sie unten.See example below.

  • -ExcludeEmptyDirectories

    Verhindert die Einbindung leerer Verzeichnisse beim Paket Erstellung.Prevents inclusion of empty directories when building the package.

  • -ForceEnglishOutput

    (3.5 und höher) Erzwingt das Ausführen von nuget.exe mit einer invarianten, englischen Kultur.(3.5+) Forces nuget.exe to run using an invariant, English-based culture.

  • -?|-help

    Zeigt Hilfe Informationen für den Befehl an.Displays help information for the command.

  • -IncludeReferencedProjects

    Gibt an, dass das integrierte Paket referenzierte Projekte entweder als Abhängigkeiten oder als Teil des Pakets einschließen soll.Indicates that the built package should include referenced projects either as dependencies or as part of the package. Wenn ein referenziertes Projekt über eine entsprechende Datei verfügt, .nuspec die den gleichen Namen wie das Projekt hat, wird dieses referenzierte Projekt als Abhängigkeit hinzugefügt.If a referenced project has a corresponding .nuspec file that has the same name as the project, then that referenced project is added as a dependency. Andernfalls wird das Projekt, auf das verwiesen wird, als Teil des Pakets hinzugefügt.Otherwise, the referenced project is added as part of the package.

  • -InstallPackageToOutputPath

    Geben Sie an, ob der Befehl das Paketausgabe Verzeichnis für die Unterstützung von Freigabe als Feed vorbereiten soll.Specify if the command should prepare the package output directory to support share as feed.

  • -MinClientVersion

    Legen Sie das minclientversion -Attribut für das erstellte Paket fest.Set the minClientVersion attribute for the created package. Durch diesen Wert wird der Wert des vorhandenen minclientversion -Attributs (sofern vorhanden) in der Datei überschrieben .nuspec .This value will override the value of the existing minClientVersion attribute (if any) in the .nuspec file.

  • -MSBuildPath

    (4.0 und höher) Gibt den Pfad von MSBuild an, der mit dem Befehl verwendet werden soll, und hat Vorrang vor -MSBuildVersion .(4.0+) Specifies the path of MSBuild to use with the command, taking precedence over -MSBuildVersion.

  • -MSBuildVersion

    (3.2 +) Gibt die Version von MSBuild an, die mit diesem Befehl verwendet werden soll.(3.2+) Specifies the version of MSBuild to be used with this command. Unterstützte Werte sind 4, 12, 14, 15,1, 15,3, 15,4, 15,5, 15,6, 15,7, 15,8, 15,9.Supported values are 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Standardmäßig wird der MSBuild in Ihrem Pfad ausgewählt; andernfalls wird standardmäßig die höchste installierte Version von MSBuild verwendet.By default the MSBuild in your path is picked, otherwise it defaults to the highest installed version of MSBuild.

  • -NoDefaultExcludes

    Verhindert, dass nuget-Paketdateien und-Dateien und-Ordner mit einem Punkt beginnen, .svn z .gitignore . b. und.Prevents default exclusion of NuGet package files and files and folders starting with a dot, such as .svn and .gitignore.

  • -NonInteractive

    Unterdrückt Eingabe Aufforderungen für Benutzereingaben oder Bestätigungen.Suppresses prompts for user input or confirmations.

  • -NoPackageAnalysis

    Gibt an, dass der Packvorgang keine Paketanalyse nach dem Erstellen des Pakets ausführen sollte.Specifies that pack should not run package analysis after building the package.

  • -OutputDirectory

    Gibt den Ordner an, in dem das erstellte Paket gespeichert ist.Specifies the folder in which the created package is stored. Wenn kein Ordner angegeben wird, wird der aktuelle Ordner verwendet.If no folder is specified, the current folder is used.

  • -OutputFileNamesWithoutVersion

    Geben Sie an, ob der Paketausgabe Name mit dem Befehl ohne die Version vorbereitet werden soll.Specify if the command should prepare the package output name without the version.

  • -PackagesDirectory

    Gibt den Ordner "Packages" an.Specifies the packages folder.

  • -p|-Properties

    Sollte zuletzt in der Befehlszeile nach anderen Optionen angezeigt werden.Should appear last on the command line after other options. Gibt eine Liste von Eigenschaften an, die Werte in der Projektdatei überschreiben. Weitere Informationen finden Sie unter allgemeine MSBuild-Projekteigenschaften für Eigenschaften Namen.Specifies a list of properties that override values in the project file; see Common MSBuild Project Properties for property names. Das hier angegebene Properties-Argument ist eine Liste von Token = Wert-Paaren, die durch Semikolons getrennt sind, wobei jedes Vorkommen von $token$ in der .nuspec Datei durch den angegebenen Wert ersetzt wird.The Properties argument here is a list of token=value pairs, separated by semicolons, where each occurrence of $token$ in the .nuspec file will be replaced with the given value. Werte können Zeichen folgen in Anführungszeichen sein.Values can be strings in quotation marks. Beachten Sie, dass für die Eigenschaft "Configuration" der Standardwert "Debug" lautet.Note that for the "Configuration" property, the default is "Debug". Verwenden Sie, um zu einer Releasekonfiguration zu wechseln -Properties Configuration=Release .To change to a Release configuration, use -Properties Configuration=Release. Im allgemeinensollten Eigenschaften identisch sein, die während des entsprechenden Projektbuilds verwendet wurden, um potenziell merkwürdiges Verhalten zu vermeiden.In general, Properties should be the same that were used during the corresponding project build, in order to avoid potentially strange behavior.

  • -SolutionDirectory

    Gibt das Projektmappenverzeichnis an.Specifies the solution directory.

  • -Suffix

    (3.4.4 +) Fügt ein Suffix an die intern generierte Versionsnummer an, die in der Regel zum Anhängen von Builds oder anderen vorab-releasebezeichnerids verwendet wird.(3.4.4+) Appends a suffix to the internally generated version number, typically used for appending build or other pre-release identifiers. Wenn Sie z. b. verwenden, -suffix nightly wird ein Paket mit einer Versionsnummer wie erstellt 1.2.3-nightly .For example, using -suffix nightly will create a package with a version number like 1.2.3-nightly. Suffixe müssen mit einem Buchstaben beginnen, um Warnungen, Fehler und mögliche Inkompatibilitäten mit verschiedenen Versionen von nuget und dem nuget-Paket-Manager zu vermeiden.Suffixes must start with a letter to avoid warnings, errors, and potential incompatibilities with different versions of NuGet and the NuGet Package Manager.

  • -SymbolPackageFormat

    Beim Erstellen eines Symbols-Pakets ermöglicht die Auswahl zwischen dem snupkg -Format und dem- symbols.nupkg Format.When creating a symbols package, allows to choose between the snupkg and symbols.nupkg format.

  • -Symbols

    Gibt an, dass das Paketquellen und Symbole enthält.Specifies that the package contains sources and symbols. Bei Verwendung mit einer- .nuspec Datei werden dadurch eine reguläre nuget-Paketdatei und das entsprechende Symbol Paket erstellt.When used with a .nuspec file, this creates a regular NuGet package file and the corresponding symbols package. Standardmäßig wird ein Legacy Symbol Paketerstellt.By default it creates a legacy symbol package. Das neue empfohlene Format für Symbolpakete ist „.snupkg“.The new recommended format for symbol packages is .snupkg. Weitere Informationen finden Sie unter Erstellen von Symbolpaketen (.snupkg).See Creating symbol packages (.snupkg).

  • -Tool

    Gibt an, dass die Ausgabedateien des Projekts in den Ordner eingefügt werden sollen tool .Specifies that the output files of the project should be placed in the tool folder.

  • -Verbosity [normal|quiet|detailed]

    Gibt den Umfang der in der Ausgabe angezeigten Details an: normal (Standard), quiet oder detailed .Specifies the amount of detail displayed in the output: normal (the default), quiet, or detailed.

  • -Version

    Überschreibt die Versionsnummer der .nuspec Datei.Overrides the version number from the .nuspec file.

Siehe auch UmgebungsvariablenAlso see Environment variables

Ausschließen von Entwicklungs AbhängigkeitenExcluding development dependencies

Einige nuget-Pakete sind nützlich als Entwicklungs Abhängigkeiten, die Sie beim Erstellen Ihrer eigenen Bibliothek unterstützen, aber nicht unbedingt als tatsächliche Paketabhängigkeiten benötigt werden.Some NuGet packages are useful as development dependencies, which help you author your own library, but aren't necessarily needed as actual package dependencies.

Der pack Befehl ignoriert package Einträge in packages.config , bei denen das- developmentDependency Attribut auf festgelegt ist true .The pack command will ignore package entries in packages.config that have the developmentDependency attribute set to true. Diese Einträge werden nicht als Abhängigkeiten in das erstellte Paket einbezogen.These entries will not be include as a dependencies in the created package.

Sehen Sie sich beispielsweise die folgende packages.config Datei im Quell Projekt an:For example, consider the following packages.config file in the source project:

<?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 von erstellte Paket nuget pack eine Abhängigkeit von und, jQuery microsoft-web-helpers aber nicht netfx-Guard .For this project, the package created by nuget pack will have a dependency on jQuery and microsoft-web-helpers but not netfx-Guard.

Unterdrücken von Paket WarnungenSuppressing pack warnings

Es wird empfohlen, dass Sie alle nuget-Warnungen während der Paket Vorgänge auflösen, in bestimmten Situationen, in denen Sie unterdrückt werden.While it is recommended that you resolve all NuGet warnings during your pack operations, in certain situations suppressing them is warranted.

Dies kann auf folgende Weise erreicht werden:You can achieve that in the following way:

nuget.exe Pack Package. nuspec-Properties nowarn = NU5104nuget.exe pack package.nuspec -Properties NoWarn=NU5104

BeispieleExamples

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"