dotnet nuget push

Dieser Artikel gilt für: ✔️ .NET Core 3.1 SDK und höher

name

dotnet nuget push – Überträgt ein Paket auf den Server und veröffentlicht es.

Übersicht

dotnet nuget push [<ROOT>] [-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>]

dotnet nuget push -h|--help

Beschreibung

Der dotnet nuget push-Befehl überträgt ein Paket auf den Server und veröffentlicht es. Der Pushbefehl verwendet Details zum Server und den Anmeldeinformationen aus der NuGet-Konfigurationsdatei oder der Kette von Konfigurationsdateien des Systems. Weitere Informationen zu Konfigurationsdateien finden Sie unter Configuring NuGet Behavior (Konfigurieren des Verhaltens von NuGet). Die NuGet-Standardkonfiguration wird abgerufen, indem %AppData%\NuGet\NuGet.config (Windows) oder $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) geladen wird. Anschließend wird eine beliebige nuget.config- oder .nuget\nuget.config-Datei geladen (beginnend mit dem Stamm des Laufwerks und endend im aktuellen Verzeichnis).

Der Befehl pusht ein vorhandenes Paket. Es wird kein Paket erstellt. Verwenden Sie dotnet pack, um ein Paket zu erstellen.

Argumente

  • ROOT

    Gibt den Dateipfad des Pakets an, das per Push übertragen werden soll.

Optionen

  • -d|--disable-buffering

    Deaktiviert die Pufferung bei Übertragungen an HTTP(S)-Server, um die Speicherauslastung zu reduzieren.

  • --force-english-output

    Erzwingt die Ausführung der Anwendung mithilfe einer invarianten Kultur, die auf Englisch basiert.

  • -?|-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

    Überträgt keine Symbole (selbst wenn vorhanden).

  • --no-service-endpoint

    Fügt „api/v2/package“ nicht der Quell-URL an.

  • -s|--source <SOURCE>

    Gibt die Server-URL an. NuGet identifiziert eine UNC oder lokale Ordnerquelle und kopiert die Datei dorthin, anstatt sie mithilfe von HTTP zu pushen.

    Wichtig

    Ab NuGet 3.4.2 handelt es sich hierbei um einen obligatorischen Parameter, außer in der NuGet-Konfigurationsdatei wird ein DefaultPushSource-Wert angegeben. Weitere Informationen finden Sie unter Konfigurieren des NuGet-Verhaltens.

  • --skip-duplicate

    Wenn Sie mehrere Pakete per Push an einen HTTP(S)-Server senden, werden alle Antworten des Typs „409 (Konflikt)“ als Warnung behandelt, sodass der Pushvorgang fortgesetzt werden kann.

  • -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 die Übertragung auf einen Server in Sekunden an. Der Standardwert ist 300 Sekunden (5 Minuten). Wenn 0 angegeben wird, wird der Standardwert angewendet.

Beispiele

  • Pusht foo.nupkg mithilfe eines API-Schlüssels an die in der NuGet-Konfigurationsdatei angegebene Standardpushquelle:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Überträgt foo.nupkg an den offiziellen NuGet-Server und gibt einen API-Schlüssel an:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Überträgt foo.nupkg an die benutzerdefinierte Pushquelle https://customsource und gibt einen API-Schlüssel an:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Pusht foo.nupkg an die in der NuGet-Konfigurationsdatei angegebene Standardpushquelle:

    dotnet nuget push foo.nupkg
    
  • Pusht foo.symbols.nupkg an die Standardsymbolquelle:

    dotnet nuget push foo.symbols.nupkg
    
  • Pusht foo.nupkg an die in der NuGet-Konfigurationsdatei angegebene Standardpushquelle, mit einem Timeout von 360 Sekunden:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Pusht alle NUPKG-Dateien im aktuellen Verzeichnis an die in der NuGet-Konfigurationsdatei angegebene Standardpushquelle:

    dotnet nuget push "*.nupkg"
    

    Hinweis

    Wenn dieser Befehl nicht funktioniert, kann dies an einem Fehler aus früheren Versionen des SDK liegen (.NET Core 2.1 SDK und frühere Versionen). Führen Sie ein Upgrade für das SDK durch, oder führen Sie stattdessen den folgenden Befehl aus, um diesen Fehler zu beheben: dotnet nuget push "**/*.nupkg".

    Hinweis

    Die einschließenden Anführungszeichen sind für Shells wie Bash erforderlich, die Dateiglobbing ausführen. Weitere Informationen finden Sie unter NuGet/Home#4393.

  • Pushen Sie alle .nupkg-Dateien an die in der NuGet-Konfigurationsdateien angegebene Standardpushquelle, auch wenn von einem HTTP(S)-Server eine Antwort des Typs „409 (Konflikt)“ zurückgegeben wird:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Pushen Sie alle NUPKG-Dateien im aktuellen Verzeichnis an ein lokales Feedverzeichnis:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Informationen zum Pushen an Azure-Artefakte finden Sie in der Pushdokumentation von Azure-Artefakten.

    Dieser Befehl speichert Pakete nicht in einer hierarchischen Ordnerstruktur, um die Leistung zu optimieren. Weitere Informationen finden Sie im Artikel zu lokalen Feeds.