dotnet publishdotnet publish

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

NameName

dotnet publish: Packt die Anwendung und ihre Abhängigkeiten in einen Ordner für die Bereitstellung auf einem Hostsystem.dotnet publish - Packs the application and its dependencies into a folder for deployment to a hosting system.

ÜbersichtSynopsis

dotnet publish [<PROJECT>] [-c|--configuration] [-f|--framework] [--force] [--manifest] [no-dependencies] [--no-restore] [-o|--output] [-r|--runtime] [--self-contained] [-v|--verbosity] [--version-suffix]
dotnet publish [-h|--help]

BeschreibungDescription

dotnet publish kompiliert die Anwendung, liest ihre Abhängigkeiten, die in der Projektdatei angegeben sind, und veröffentlicht die resultierenden Dateien in einem Verzeichnis.dotnet publish compiles the application, reads through its dependencies specified in the project file, and publishes the resulting set of files to a directory. Die Ausgabe wird Folgendes enthalten:The output will contain the following:

  • Intermediate Language-Code (IL) in einer Assembly mit einer DLL-Erweiterung.Intermediate Language (IL) code in an assembly with a dll extension.
  • deps.json-Datei, die alle Abhängigkeiten des Projekts enthält..deps.json file that contains all of the dependencies of the project.
  • Eine .runtime.config.json-Datei, die die freigegebene Laufzeit angibt, die die Anwendung erwartet, sowie andere Konfigurationsoptionen für die Laufzeit (z.B. Typ der automatischen Speicherbereinigung)..runtime.config.json file that specifies the shared runtime that the application expects, as well as other configuration options for the runtime (for example, garbage collection type).
  • Die Abhängigkeiten der Anwendung.The application's dependencies. Diese werden aus dem NuGet-Cache in den Ausgabeordner kopiert.These are copied from the NuGet cache into the output folder.

Die dotnet publish-Ausgabe des Befehls ist bereit für die Bereitstellung auf einem Hostsystem (z.B. ein Server, PC, Mac, Laptops) für die Ausführung und ist der einzige offiziell unterstützte Weg, um die Anwendung für die Bereitstellung vorzubereiten.The dotnet publish command's output is ready for deployment to a hosting system (for example, a server, PC, Mac, laptop) for execution and is the only officially supported way to prepare the application for deployment. Je nach Art der Bereitstellung, die im Projekt angegeben ist, hat das Hostsystem die freigegebene .NET Core-Laufzeit installiert oder nicht.Depending on the type of deployment that the project specifies, the hosting system may or may not have the .NET Core shared runtime installed on it. Weitere Informationen finden Sie unter .NET Core Anwendungsbereitstellung.For more information, see .NET Core Application Deployment. Die Verzeichnisstruktur der veröffentlichten Anwendung finden Sie unter Directory structure (Verzeichnisstruktur).For the directory structure of a published application, see Directory structure.

ArgumenteArguments

PROJECT

Das zu veröffentlichende Projekt – standardmäßig das aktuelle Verzeichnis, wenn nicht angegeben.The project to publish, which defaults to the current directory if not specified.

OptionenOptions

-c|--configuration {Debug|Release}

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

-f|--framework <FRAMEWORK>

Veröffentlicht die Anwendung für das angegebene Zielframework.Publishes the application for the specified target framework. Sie müssen das Zielframework in der Projektdatei angeben.You must specify the target framework in the project file.

--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. Dies entspricht dem Löschen der Datei project.assets.json.This is equivalent to deleting the project.assets.json file.

-h|--help

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

--manifest <PATH_TO_MANIFEST_FILE>

Gibt mindestens ein Zielmanifest an, das verwendet wird, um die Menge an mit der App veröffentlichten Paketen zu senken.Specifies one or several target manifests to use to trim the set of packages published with the app. Die Manifestdatei ist Teil der Ausgabe des dotnet store-Befehls.The manifest file is part of the output of the dotnet store command. Um mehrere Manifeste anzugeben, fügen Sie die --manifest-Option für jedes Manifest hinzu.To specify multiple manifests, add a --manifest option for each manifest. Diese Option ist am dem .NET Core 2.0 SDK verfügbar.This option is available starting with .NET Core 2.0 SDK.

--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 kein implizites Wiederherstellen durch, wenn der Befehl ausgeführt wirdDoesn't perform an implicit restore when running the command.

-o|--output <OUTPUT_DIRECTORY>

Gibt den Pfad für das Ausgabeverzeichnis an.Specifies the path for the output directory. Wenn nicht angegeben, wird standardmäßig ./bin/[configuration]/[framework]/ für eine Framework-abhängige Bereitstellung oder ./bin/[configuration]/[framework]/[runtime] für eine eigenständige Bereitstellung gewählt.If not specified, it defaults to ./bin/[configuration]/[framework]/ for a framework-dependent deployment or ./bin/[configuration]/[framework]/[runtime] for a self-contained deployment. Wenn ein relativer Pfad angegeben wird, ist das Ausgabeverzeichnis generiert relativ zum Speicherort Projekts-Datei nicht in das aktuelle Arbeitsverzeichnis.If a relative path is provided, the output directory generated is relative to the project file location, not to the current working directory.

--self-contained

Veröffentlicht die .NET Core-Runtime mit Ihrer Anwendung, sodass die Runtime nicht auf dem Zielcomputer installiert werden muss.Publishes the .NET Core runtime with your application so the runtime doesn't need to be installed on the target machine. Wenn ein Runtimebezeichner angegeben ist, ist der Standardwert true.If a runtime identifier is specified, its default value is true. Weitere Informationen zu anderen Bereitstellungstypen finden Sie unter .NET Core-anwendungsbereitstellung.For more information about the different deployment types, see .NET Core application deployment.

-r|--runtime <RUNTIME_IDENTIFIER>

Veröffentlicht die Anwendung für eine bestimmte Laufzeit.Publishes the application for a given runtime. Wird bei der Erstellung einer eigenständigen Bereitstellung (Self-contained deployments, SCD) verwendet.This is used when creating a self-contained deployment (SCD). Eine Liste der Runtime-IDs (RIDs) finden Sie im RID-Katalog.For a list of Runtime Identifiers (RIDs), see the RID catalog. Standardmäßig wird eine Framework-abhängige Bereitstellung (FDD) veröffentlicht.Default is to publish a framework-dependent deployment (FDD).

-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].

--version-suffix <VERSION_SUFFIX>

Definiert das Versionssuffix zum Ersetzen des Sternchens (*) im Versionsfeld der Projektdatei.Defines the version suffix to replace the asterisk (*) in the version field of the project file.

BeispieleExamples

Veröffentlicht das Projekt im aktuellen Verzeichnis:Publish the project in the current directory:

dotnet publish

Veröffentlichen Sie die Anwendung unter Verwendung der angegebenen Projektdatei:Publish the application using the specified project file:

dotnet publish ~/projects/app1/app1.csproj

Veröffentlichen Sie das Projekt aus dem aktuellen Verzeichnis unter Verwendung des netcoreapp1.1-Frameworks:Publish the project in the current directory using the netcoreapp1.1 framework:

dotnet publish --framework netcoreapp1.1

Veröffentlichen der aktuellen Anwendung mithilfe des netcoreapp1.1-Frameworks und der Laufzeit für OS X 10.10 (Sie müssen diese RID in der Projektdatei auflisten).Publish the current application using the netcoreapp1.1 framework and the runtime for OS X 10.10 (you must list this RID in the project file).

dotnet publish --framework netcoreapp1.1 --runtime osx.10.11-x64

Siehe auchSee also