Freigeben über


dotnet nuget push

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