dotnet publish

Dieses Thema gilt für: ✓ .NET Core 1.x .NET Core 2.x

Name

dotnet publish: Packt die Anwendung und ihre Abhängigkeiten in einen Ordner für die Bereitstellung auf einem Hostsystem.

Übersicht

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]

Beschreibung

dotnet publish kompiliert die Anwendung, liest ihre Abhängigkeiten, die in der Projektdatei angegeben sind, und veröffentlicht die resultierenden Dateien in einem Verzeichnis. Die Ausgabe wird Folgendes enthalten:

  • Intermediate Language-Code (IL) in einer Assembly mit einer DLL-Erweiterung.
  • deps.json-Datei, die alle Abhängigkeiten des Projekts enthält.
  • 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).
  • Die Abhängigkeiten der Anwendung. Diese werden aus dem NuGet-Cache in den Ausgabeordner kopiert.

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. Je nach Art der Bereitstellung, die im Projekt angegeben ist, hat das Hostsystem die freigegebene .NET Core-Laufzeit installiert oder nicht. Weitere Informationen finden Sie unter .NET Core Anwendungsbereitstellung. Die Verzeichnisstruktur der veröffentlichten Anwendung finden Sie unter Directory structure (Verzeichnisstruktur).

Argumente

PROJECT

Das zu veröffentlichende Projekt – standardmäßig das aktuelle Verzeichnis, wenn nicht angegeben.

Optionen

-c|--configuration {Debug|Release}

Legt die Buildkonfiguration fest. Der Standardwert ist Debug.

-f|--framework <FRAMEWORK>

Veröffentlicht die Anwendung für das angegebene Zielframework. Sie müssen das Zielframework in der Projektdatei angeben.

--force

Erzwingt das Auflösen aller Abhängigkeiten, auch wenn die letzte Wiederherstellung erfolgreich war. Dies entspricht dem Löschen der Datei project.assets.json.

-h|--help

Druckt eine kurze Hilfe für den Befehl.

--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. Die Manifestdatei ist Teil der Ausgabe des dotnet store-Befehls. Um mehrere Manifeste anzugeben, fügen Sie die --manifest-Option für jedes Manifest hinzu. Diese Option ist am dem .NET Core 2.0 SDK verfügbar.

--no-dependencies

Ignoriert Verweise zwischen Projekten und stellt nur das zum Erstellen angegebene Stammprojekt wieder her.

--no-restore

Führt kein implizites Wiederherstellen durch, wenn der Befehl ausgeführt wird

-o|--output <OUTPUT_DIRECTORY>

Gibt den Pfad für das Ausgabeverzeichnis an. 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.

--self-contained

Veröffentlicht die .NET Core-Runtime mit Ihrer Anwendung, sodass die Runtime nicht auf dem Zielcomputer installiert werden muss. Wenn ein Runtimebezeichner angegeben ist, ist der Standardwert true. Weitere Informationen zu verschiedenen Bereitstellungstypen finden Sie unter .NET Core Anwendungsbereitstellung.

-r|--runtime <RUNTIME_IDENTIFIER>

Veröffentlicht die Anwendung für eine bestimmte Laufzeit. Wird bei der Erstellung einer eigenständigen Bereitstellung (Self-contained deployments, SCD) verwendet. Eine Liste der Runtime-IDs (RIDs) finden Sie im RID-Katalog. Standardmäßig wird eine Framework-abhängige Bereitstellung (FDD) veröffentlicht.

-v|--verbosity <LEVEL>

Legt den Ausführlichkeitsgrad für den Befehl fest. Zulässige Werte sind q[uiet], m[inimal], n[ormal], d[etailed] und diag[nostic].

--version-suffix <VERSION_SUFFIX>

Definiert das Versionssuffix zum Ersetzen des Sternchens (*) im Versionsfeld der Projektdatei.

Beispiele

Veröffentlicht das Projekt im aktuellen Verzeichnis:

dotnet publish

Veröffentlichen Sie die Anwendung unter Verwendung der angegebenen Projektdatei:

dotnet publish ~/projects/app1/app1.csproj

Veröffentlichen Sie das Projekt aus dem aktuellen Verzeichnis unter Verwendung des netcoreapp1.1-Frameworks:

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

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

Siehe auch