dotnet packdotnet pack

Dieses Thema gilt für: ✓ .NET Core SDK 1.x .NET Core SDK 2.0This topic applies to: ✓ .NET Core SDK 1.x .NET Core SDK 2.0

nameName

dotnet pack: Packt den Code in ein NuGet-Paketdotnet pack - Packs the code into a NuGet package.

ÜbersichtSynopsis

dotnet pack [<PROJECT>] [-c|--configuration] [--force] [--include-source] [--include-symbols] [--no-build] [--no-dependencies]
    [--no-restore] [-o|--output] [--runtime] [-s|--serviceable] [-v|--verbosity] [--version-suffix]
dotnet pack [-h|--help]

descriptionDescription

Der Befehl dotnet pack erstellt das Projekt und NuGet-Pakete.The dotnet pack command builds the project and creates NuGet packages. Das Ergebnis dieses Befehls ist ein NuGet-Paket.The result of this command is a NuGet package. Wenn die --include-symbols-Option vorhanden ist, wird ein anderes Paket mit den Debugsymbolen erstellt.If the --include-symbols option is present, another package containing the debug symbols is created.

NuGet-Abhängigkeiten des gepackten Projekts werden der Datei nuspec hinzugefügt. Sie werden ordnungsgemäß aufgelöst, wenn das Paket installiert wird.NuGet dependencies of the packed project are added to the .nuspec file, so they're properly resolved when the package is installed. Verweise zwischen Projekten werden innerhalb des Projekts nicht gepackt.Project-to-project references aren't packaged inside the project. Derzeit benötigen Sie ein Paket pro Projekt, wenn Sie Abhängigkeiten zwischen Projekten haben.Currently, you must have a package per project if you have project-to-project dependencies.

dotnet pack erstellt standardmäßig zuerst das Projekt.By default, dotnet pack builds the project first. Wenn Sie dieses Verhalten vermeiden möchten, übergeben Sie die Option --no-build.If you wish to avoid this behavior, pass the --no-build option. Diese Option ist bei Buildszenarios der Continuous Integration (CI) oft hilfreich, bei denen Sie wissen, dass der Code kürzlich erstellt wurde.This option is often useful in Continuous Integration (CI) build scenarios where you know the code was previously built.

Sie können dem dotnet pack-Befehl MSBuild-Eigenschaften für den Packvorgang bereitstellen.You can provide MSBuild properties to the dotnet pack command for the packing process. Weitere Informationen finden Sie in den NuGet-Metadateneigenschaften und in der MSBuild-Befehlszeilenreferenz.For more information, see NuGet metadata properties and the MSBuild Command-Line Reference. Der Abschnitt Beispiele enthält Informationen darüber, wie die MSBuild-Eigenschaft „/p“ für verschiedene Szenarien verwendet wird.The Examples section shows how to use the MSBuild /p switch for a couple of different scenarios.

Hinweis

Ab .NET Core 2.0 müssen Sie dotnet restore nicht mehr ausführen, da der Befehl implizit von allen Befehlen, z.B. dotnet build und dotnet run, ausgeführt wird, die eine Wiederherstellung erfordern.Starting with .NET Core 2.0, you don't have to run dotnet restore because it's run implicitly by all commands, such as dotnet build and dotnet run, that require a restore to occur. In bestimmten Fällen eignet sich der Befehl dennoch. Dies ist etwa bei Szenarios der Fall, in denen das Ausführen einer expliziten Wiederherstellung sinnvoll ist. Beispiele hierfür sind Continuous Integration-Builds in Visual Studio Team Services oder Buildsystemen, die den Zeitpunkt für die Wiederherstellung explizit festlegen müssen.It's still a valid command in certain scenarios where doing an explicit restore makes sense, such as continuous integration builds in Visual Studio Team Services or in build systems that need to explicitly control the time at which the restore occurs.

Dieser Befehl unterstützt auch die dotnet restore-Optionen, wenn sie in der Langform übergeben werden (z.B. --source).This command also supports the dotnet restore options when passed in the long form (for example, --source). Optionen in Kurzform wie z.B. -s werden nicht unterstützt.Short form options, such as -s, are not supported.

ArgumenteArguments

PROJECT

Das zu packende Projekt.The project to pack. Es ist entweder ein Pfad zu einer csproj-Datei oder zu einem Verzeichnis.It's either a path to a csproj file or to a directory. Wenn nicht angegeben, wird standardmäßig das aktuelle Verzeichnis gewählt.If not specified, it defaults to the current directory.

OptionenOptions

-c|--configuration {Debug|Release}

Legt die Buildkonfiguration fest.Defines the build configuration. Der Standardwert ist Debug.The default value is Debug.

--force

Erzwingt das Auflösen aller Abhängigkeiten, auch wenn die letzte Wiederherstellung erfolgreich war.Forces all dependencies to be resolved even if the last restore was successful. Dieses Flag anzugeben, entspricht dem Löschen der Datei project.assets.json.Specifying this flag is the same as deleting the project.assets.json file.

-h|--help

Druckt eine kurze Hilfe für den Befehl.Prints out a short help for the command.

--include-source

Nimmt die Quelldateien in das NuGet-Paket auf.Includes the source files in the NuGet package. Die Quelldateien befinden sich im Ordner src im nupkg.The sources files are included in the src folder within the nupkg.

--include-symbols

Generiert die Symbole nupkg.Generates the symbols nupkg.

--no-build

Erstellt das Projekt nicht vor dem Packen.Doesn't build the project before packing. Das --no-restore-Flag wird implizit festgelegt.It also implicit sets the --no-restore flag.

--no-dependencies

Ignoriert Verweise zwischen Projekten und stellt nur das zum Erstellen angegebene Stammprojekt wieder her.Ignores project-to-project references and only restores the root project.

--no-restore

Führt keine implizite Wiederherstellung aus, wenn der Befehl ausgeführt wird.Doesn't execute an implicit restore when running the command.

-o|--output <OUTPUT_DIRECTORY>

Platziert die erstellten Pakete in das angegebene Verzeichnis.Places the built packages in the directory specified.

--runtime <RUNTIME_IDENTIFIER>

Gibt die Ziellaufzeit an, für die Pakete wiederhergestellt werden sollenSpecifies the target runtime to restore packages for. Eine Liste der Runtime-IDs (RIDs) finden Sie unter RID-Katalog.For a list of Runtime Identifiers (RIDs), see the RID catalog.

-s|--serviceable

Legt das zu verarbeitende Flag im Paket fest.Sets the serviceable flag in the package. Weitere Informationen finden Sie unter .NET Blog: .NET 4.5.1 Supports Microsoft Security Updates for .NET NuGet Libraries (.NET Blog: .NET 4.5.1 unterstützt Microsoft Sicherheitsupdates für .NET NuGet-Bibliotheken).For more information, see .NET Blog: .NET 4.5.1 Supports Microsoft Security Updates for .NET NuGet Libraries.

--version-suffix <VERSION_SUFFIX>

Definiert den Wert für die $(VersionSuffix)-MSBuild-Eigenschaft im Projekt.Defines the value for the $(VersionSuffix) MSBuild property in the project.

-v|--verbosity <LEVEL>

Legt den Ausführlichkeitsgrad für den Befehl fest.Sets the verbosity level of the command. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic].Allowed values are q[uiet], m[inimal], n[ormal], d[etailed], and diag[nostic].

BeispieleExamples

Packt das Projekt im aktuellen Verzeichnis:Pack the project in the current directory:

dotnet pack

Packt das app1-Projekt:Pack the app1 project:

dotnet pack ~/projects/app1/project.csproj

Packt das Projekt im aktuellen Verzeichnis, und platziert die erstellten Pakete in den nupkgs-Ordner:Pack the project in the current directory and place the resulting packages into the nupkgs folder:

dotnet pack --output nupkgs

Packt das Projekt im aktuellen Verzeichnis in den nupkgs-Ordner und überspringt den Buildschritt:Pack the project in the current directory into the nupkgs folder and skip the build step:

dotnet pack --no-build --output nupkgs

Mit dem Versionssuffix des Projekts, das als <VersionSuffix>$(VersionSuffix)</VersionSuffix> in der .csproj-Datei konfiguriert ist, packen Sie das aktuelle Projekt, und aktualisieren Sie die resultierende Paketversion mit dem angegebenen Suffix:With the project's version suffix configured as <VersionSuffix>$(VersionSuffix)</VersionSuffix> in the .csproj file, pack the current project and update the resulting package version with the given suffix:

dotnet pack --version-suffix "ci-1234"

Legen Sie die Paketversion auf 2.1.0 mithilfe der MSBuild-Eigenschaft PackageVersion fest.Set the package version to 2.1.0 with the PackageVersion MSBuild property:

dotnet pack /p:PackageVersion=2.1.0

Packen Sie das Projekt für ein bestimmtes Zielframework:Pack the project for a specific target framework:

dotnet pack /p:TargetFrameworks=net45

Packen Sie das Projekt, und verwenden Sie eine bestimmte Runtime (Windows 10) für den Wiederherstellungsvorgang (.NET Core SDK 2.0 und spätere Versionen):Pack the project and use a specific runtime (Windows 10) for the restore operation (.NET Core SDK 2.0 and later versions):

dotnet pack --runtime win10-x64