Sdílet prostřednictvím


dotnet nuget push

Tento článek se týká: ✔️ .NET Core 3.1 SDK a novějších verzí

Name

dotnet nuget push - Odešle balíček na server a publikuje ho.

Synopse

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

Description

Příkaz dotnet nuget push odešle balíček na server a publikuje ho. Příkaz push používá podrobnosti o serveru a přihlašovacích údajích, které najdete v konfiguračním souboru NuGet systému nebo v řetězu konfiguračních souborů. Další informace o konfiguračních souborech najdete v tématu Konfigurace chování NuGet. Výchozí konfigurace NuGetu se získá načtením %AppData%\NuGet\NuGet.config (Windows) nebo $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) a načtením všech nuget.config nebo .nuget\nuget.config počínaje kořenem jednotky a končícím v aktuálním adresáři.

Příkaz nasdílí existující balíček. Nevytvoří balíček. K vytvoření balíčku použijte dotnet pack.

Hierarchická struktura složek

Tento příkaz může ukládat balíčky v hierarchické struktuře složek, která se doporučuje optimalizovat výkon. Při publikování do místní složky (informačního kanálu) ukládá balíčky v hierarchické struktuře složek, stejně jako nuget add v případě, že už v informačním kanálu existuje alespoň jeden balíček, který je v hierarchické struktuře složek. Pokud informační kanál už obsahuje hierarchický balíček se strukturovanou složkou, dotnet nuget push respektuje danou strukturu. Pokud tedy chcete publikovat do místního informačního kanálu pomocí rozhraní příkazového řádku .NET MÍSTO rozhraní příkazového řádku NuGet:

  • Před publikováním prvního balíčku přejděte do složky globálních balíčků na adrese %userprofile%.nuget\packages a vyberte kořenovou složku s ID balíčku. Může to být jakýkoli balíček, který není součástí architektury, jako je .NET Standard nebo ASP.NET.
  • Zkopírujte vybranou složku balíčku do kořenové složky místního informačního kanálu.
  • Slouží dotnet nuget push k publikování balíčku do místního informačního kanálu.
  • Teď můžete odstranit složku, kterou jste předtím zkopírovali, a můžete ji volně použít dotnet nuget push k publikování do místního informačního kanálu.

Alternativně použijte rozhraní příkazového řádku NuGet pro první balíček a pak můžete použít dotnet nuget push pro zbytek. Další informace najdete v tématu Místní informační kanály.

Argumenty

  • ROOT

    Určuje cestu k souboru k balíčku, který se má odeslat.

Možnosti

  • -d|--disable-buffering

    Zakáže ukládání do vyrovnávací paměti při odesílání na server HTTP(S), aby se snížilo využití paměti.

  • --force-english-output

    Vynutí spuštění aplikace pomocí invariantní jazykové verze založené na angličtině.

  • -?|-h|--help

    Vytiskne popis použití příkazu.

  • --interactive

    Umožňuje příkaz zastavit a čekat na vstup nebo akci uživatele. Například k dokončení ověřování. K dispozici od sady .NET Core 3.0 SDK.

  • -k|--api-key <API_KEY>

    Klíč rozhraní API pro server.

  • -n|--no-symbols

    Netlačí symboly (i když jsou k dispozici).

  • --no-service-endpoint

    Ke zdrojové adrese URL nepřidá "api/v2/package".

  • -s|--source <SOURCE>

    Určuje adresu URL serveru. NuGet identifikuje unc nebo zdroj místní složky a jednoduše zkopíruje soubor místo toho, aby ho nasdílil pomocí PROTOKOLU HTTP.

    Důležité

    Počínaje verzí NuGet 3.4.2 se jedná o povinný parametr, pokud konfigurační soubor NuGet neurčuje DefaultPushSource hodnotu. Další informace najdete v tématu Konfigurace chování NuGet.

  • --skip-duplicate

    Při odesílání více balíčků na server HTTP(S) zachází se všemi odpověďmi na konflikty 409 jako s upozorněním, aby ostatní nabízená oznámení mohly pokračovat.

  • -sk|--symbol-api-key <API_KEY>

    Klíč rozhraní API pro server symbolů.

  • -ss|--symbol-source <SOURCE>

    Určuje adresu URL serveru se symboly.

  • -t|--timeout <TIMEOUT>

    Určuje časový limit pro odeslání na server v sekundách. Výchozí hodnota je 300 sekund (5 minut). Zadáním hodnoty 0 se použije výchozí hodnota.

Příklady

  • Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet pomocí klíče rozhraní API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Odešlete foo.nupkg na oficiální server NuGet zadáním klíče rozhraní API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Nasdílení foo.nupkg do vlastního zdroje https://customsourcenabízených oznámení zadáním klíče rozhraní API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet:

    dotnet nuget push foo.nupkg
    
  • Nasdílení foo.symbols.nupkg do výchozího zdroje symbolů:

    dotnet nuget push foo.symbols.nupkg
    
  • Odešlete foo.nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet s časovým limitem 360 sekund:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Nasdílejte všechny soubory .nupkg v aktuálním adresáři do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet:

    dotnet nuget push "*.nupkg"
    

    Poznámka

    Pokud tento příkaz nefunguje, může to být způsobeno chybou, která existovala ve starších verzích sady SDK (.NET Core 2.1 SDK a starších verzích). Pokud chcete tento problém vyřešit, upgradujte verzi sady SDK nebo místo toho spusťte následující příkaz: dotnet nuget push "**/*.nupkg"

    Poznámka

    Uzavírací uvozovky jsou vyžadovány pro prostředí, jako je Bash, která provádějí globbing souborů. Další informace najdete v tématu NuGet/Home#4393.

  • Nasdílejte všechny soubory .nupkg do výchozího zdroje nabízených oznámení zadaného v konfiguračním souboru NuGet, i když server HTTP(S) vrátí odpověď 409 Conflict:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Nasdílejte všechny soubory .nupkg v aktuálním adresáři do adresáře místního informačního kanálu:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Informace o naháčkování do Azure Artifacts najdete v dokumentaci k nabízeným oznámením azure Artifacts.