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.
Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher
Name
dotnet nuget push
– Verschiebt ein Paket an den Server und veröffentlicht es.
Zusammenfassung
dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-d|--disable-buffering] [--force-english-output]
[--interactive] [-k|--api-key <API_KEY>] [-n|--no-symbols]
[--no-service-endpoint] [-s|--source <SOURCE>] [--skip-duplicate]
[-sk|--symbol-api-key <API_KEY>] [-ss|--symbol-source <SOURCE>]
[-t|--timeout <TIMEOUT>]
[--configfile <FILE>]
dotnet nuget push -h|--help
BESCHREIBUNG
Mit dotnet nuget push
dem Befehl wird ein Paket an den Server übertragen und veröffentlicht. Der Pushbefehl verwendet Server- und Anmeldeinformationen, die in der NuGet-Konfigurationsdatei des Systems oder in der Kette von Konfigurationsdateien enthalten sind. Weitere Informationen zu Konfigurationsdateien finden Sie unter Configuring NuGet Behavior. Die Standardkonfiguration von NuGet wird abgerufen, indem %AppData%\NuGet\NuGet.config (Windows) oder $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) geladen wird und dann alle nuget.config oder .nuget-\nuget.config vom Stamm des Laufwerks geladen und im aktuellen Verzeichnis enden.
Der Befehl verschiebt ein vorhandenes Paket. Es wird kein Paket erstellt. Verwenden Sie dotnet pack
zum Erstellen eines Pakets .
Hierarchische Ordnerstruktur
Dieser Befehl kann Pakete in einer hierarchischen Ordnerstruktur speichern, die empfohlen wird, die Leistung zu optimieren. Es speichert Pakete in einer hierarchischen Ordnerstruktur, wenn die Veröffentlichung in einem lokalen Ordner (Feed) erfolgt, z nuget add
. B. wenn bereits mindestens ein Paket im Feed vorhanden ist, der sich in einer hierarchischen Ordnerstruktur befindet. Wenn der Feed bereits über ein hierarchisches ordnerstrukturiertes Paket verfügt, dotnet nuget push
wird diese Struktur berücksichtigt. Wenn Sie also mit .NET CLI anstelle der NuGet CLI in einem lokalen Feed veröffentlichen möchten:
- Bevor Sie das erste Paket veröffentlichen, wechseln Sie zu Ihrem globalen Paketordner unter %userprofile%.nuget\packages, und wählen Sie den Stammordner einer Paket-ID aus. Es kann sich um ein beliebiges Paket handeln, das nicht Teil eines Frameworks ist, z. B. .NET-Standard oder ASP.NET.
- Kopieren Sie den ausgewählten Paketordner in den Stammordner des lokalen Feeds.
- Wird verwendet
dotnet nuget push
, um Ihr Paket im lokalen Feed zu veröffentlichen. - Sie können nun den Ordner löschen, den Sie zuvor kopiert haben, und Sie können den Lokalen Feed frei
dotnet nuget push
veröffentlichen.
Alternativ können Sie die NuGet CLI für das erste Paket verwenden und dann für den Rest verwenden dotnet nuget push
. Weitere Informationen finden Sie unter "Lokale Feeds".
Argumente
ROOT
Gibt den Dateipfad zum Paket an, das pusht werden soll.
Optionen
--allow-insecure-connections
Ermöglicht das Pushen an HTTP-Quellen (unsicher).
-d|--disable-buffering
Deaktiviert die Pufferung beim Pushen an einen HTTP(S)-Server, um die Speicherauslastung zu verringern.
--force-english-output
Erzwingt die Ausführung der Anwendung mithilfe einer invarianten, englischen Kultur.
-?|-h|--help
Gibt eine Beschreibung zur Verwendung des Befehls aus.
--interactive
Ermöglicht dem Befehl, anzuhalten und auf Benutzereingaben oder Aktionen zu warten. Beispielsweise, um die Authentifizierung abzuschließen. Verfügbar seit .NET Core 3.0 SDK.
-k|--api-key <API_KEY>
Der API-Schlüssel für den Server.
-n|--no-symbols
Pushsymbole (auch wenn vorhanden).
--no-service-endpoint
Fügt "api/v2/package" nicht an die Quell-URL an.
-s|--source <SOURCE>
Gibt die Server-URL an. NuGet identifiziert eine UNC- oder lokale Ordnerquelle und kopiert einfach die Datei dort, anstatt sie mithilfe von HTTP zu pushen.
Von Bedeutung
Ab NuGet 3.4.2 ist dies ein obligatorischer Parameter, es sei denn, die NuGet-Konfigurationsdatei gibt einen
DefaultPushSource
Wert an. Weitere Informationen finden Sie unter Konfigurieren des NuGet-Verhaltens.--skip-duplicate
Beim Pushen mehrerer Pakete an einen HTTP(S)-Server werden alle 409 Konfliktantworten als Warnung behandelt, sodass andere Pushs fortgesetzt werden können.
-sk|--symbol-api-key <API_KEY>
Der API-Schlüssel für den Symbolserver.
-ss|--symbol-source <SOURCE>
Gibt die Symbolserver-URL an.
-t|--timeout <TIMEOUT>
Gibt das Timeout für das Pushen an einen Server in Sekunden an. Der Standardwert ist 300 Sekunden (5 Minuten). Wenn Sie "0" angeben, wird der Standardwert angewendet.
--configfile
Die zu verwendende NuGet-Konfigurationsdatei (nuget.config). Sofern angegeben, werden nur die Einstellungen aus dieser Datei verwendet. Falls nicht angegeben, wird die Hierarchie der Konfigurationsdateien aus dem aktuellen Verzeichnis verwendet. Weitere Informationen finden Sie unter Gängige NuGet-Konfigurationen.
Beispiele
Push foo.nupkg an die in der NuGet-Konfigurationsdatei angegebene Standard-Pushquelle mit einem API-Schlüssel:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
Push foo.nupkg an den offiziellen NuGet-Server, der einen API-Schlüssel angibt:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
Push foo.nupkg an die benutzerdefinierte Pushquelle
https://customsource
, angabe eines API-Schlüssels:dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
Push foo.nupkg an die in der NuGet-Konfigurationsdatei angegebene Standard-Pushquelle:
dotnet nuget push foo.nupkg
Push foo.symbols.nupkg an die Standardsymbolquelle:
dotnet nuget push foo.symbols.nupkg
Push foo.nupkg an die in der NuGet-Konfigurationsdatei angegebene Standard-Pushquelle mit einem Timeout von 360 Sekunden:
dotnet nuget push foo.nupkg --timeout 360
Pushen Sie alle nupkg-Dateien im aktuellen Verzeichnis an die Standard-Pushquelle, die in der NuGet-Konfigurationsdatei angegeben ist:
dotnet nuget push "*.nupkg"
Hinweis
Wenn dieser Befehl nicht funktioniert, liegt es möglicherweise an einem Fehler, der in älteren Versionen des SDK (.NET Core 2.1 SDK und früheren Versionen) vorhanden ist. Führen Sie stattdessen den folgenden Befehl aus, um dies zu beheben, aktualisieren Sie Die SDK-Version, oder führen Sie stattdessen den folgenden Befehl aus:
dotnet nuget push "**/*.nupkg"
Hinweis
Die umschließenden Anführungszeichen sind für Shells wie Bash erforderlich, die dateiverherrlichen. Weitere Informationen finden Sie unter NuGet/Home#4393.
Pushen Sie alle nupkg-Dateien an die in der NuGet-Konfigurationsdatei angegebene Standard-Pushquelle, auch wenn eine 409-Konfliktantwort von einem HTTP(S)-Server zurückgegeben wird:
dotnet nuget push "*.nupkg" --skip-duplicate
Pushen Sie alle nupkg-Dateien im aktuellen Verzeichnis in ein lokales Feedverzeichnis:
dotnet nuget push "*.nupkg" -s c:\mydir
Informationen zum Pushen an Azure Artifacts finden Sie in der Pushdokumentation von Azure Artifacts.