Dela via


dotnet nuget push

Den här artikeln gäller för: ✔️ .NET Core 3.1 SDK och senare versioner

Name

dotnet nuget push – Push-överför ett paket till servern och publicerar det.

Synopsis

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

Kommandot dotnet nuget push push-överför ett paket till servern och publicerar det. Push-kommandot använder server- och autentiseringsuppgifter som finns i systemets NuGet-konfigurationsfil eller kedja av konfigurationsfiler. Mer information om konfigurationsfiler finns i Konfigurera NuGet-beteende. NuGets standardkonfiguration hämtas genom att läsa in %AppData%\NuGet\NuGet.config (Windows) eller $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) och sedan läsa in alla nuget.config eller .nuget\nuget.config från enhetens rot och sluta i den aktuella katalogen.

Kommandot push-överför ett befintligt paket. Det skapar inget paket. Om du vill skapa ett paket använder du dotnet pack.

Hierarkisk mappstruktur

Det här kommandot kan lagra paket i en hierarkisk mappstruktur, vilket rekommenderas för att optimera prestanda. Den lagrar paket i en hierarkisk mappstruktur vid publicering till en lokal mapp (feed), som nuget add om det redan finns minst ett paket i feeden som finns i en hierarkisk mappstruktur. Om feeden redan dotnet nuget push har ett hierarkiskt mappstrukturerat paket, respekterar den strukturen. Så om du vill publicera till en lokal feed med hjälp av .NET CLI i stället för NuGet CLI:

  • Innan du publicerar det första paketet går du till mappen globala paket på %userprofile%.nuget\packages och väljer rotmappen för ett paket-ID. Det kan vara alla paket som inte ingår i ett ramverk, till exempel .NET Standard eller ASP.NET.
  • Kopiera den valda paketmappen till rotmappen för den lokala feeden.
  • Använd dotnet nuget push för att publicera paketet i den lokala feeden.
  • Nu kan du ta bort mappen som du tidigare kopierade i, och du kan fritt använda dotnet nuget push för att publicera till din lokala feed.

Du kan också använda NuGet CLI för det första paketet och sedan använda dotnet nuget push för resten. Mer information finns i Lokala feeds.

Argument

  • ROOT

    Anger filsökvägen till paketet som ska push-överföras.

Alternativ

  • -d|--disable-buffering

    Inaktiverar buffring vid push-överföring till en HTTP(S)-server för att minska minnesanvändningen.

  • --force-english-output

    Tvingar programmet att köras med hjälp av en invariant, engelskbaserad kultur.

  • -?|-h|--help

    Skriver ut en beskrivning av hur du använder kommandot.

  • --interactive

    Tillåter att kommandot stoppar och väntar på användarindata eller åtgärd. Till exempel för att slutföra autentiseringen. Tillgänglig sedan .NET Core 3.0 SDK.

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

    API-nyckeln för servern.

  • -n|--no-symbols

    Push-överför inte symboler (även om de finns).

  • --no-service-endpoint

    Lägger inte till "api/v2/package" i käll-URL:en.

  • -s|--source <SOURCE>

    Anger serverns URL. NuGet identifierar en UNC-källa eller en lokal mappkälla och kopierar helt enkelt filen där i stället för att skicka den via HTTP.

    Viktigt

    Från och med NuGet 3.4.2 är detta en obligatorisk parameter om inte NuGet-konfigurationsfilen anger ett DefaultPushSource värde. Mer information finns i Konfigurera NuGet-beteende.

  • --skip-duplicate

    När du skickar flera paket till en HTTP(S)-server behandlar alla 409-konfliktsvar som en varning så att andra push-meddelanden kan fortsätta.

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

    API-nyckeln för symbolservern.

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

    Anger symbolserverns URL.

  • -t|--timeout <TIMEOUT>

    Anger tidsgränsen för push-överföring till en server i sekunder. Standardvärdet är 300 sekunder (5 minuter). Om du anger 0 tillämpas standardvärdet.

Exempel

  • Skicka foo.nupkg till standard push-källan som anges i NuGet-konfigurationsfilen med hjälp av en API-nyckel:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Push-överför foo.nupkg till den officiella NuGet-servern och ange en API-nyckel:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Push-överför foo.nupkg till den anpassade push-källan https://customsourceoch ange en API-nyckel:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Push-överför foo.nupkg till standard push-källan som anges i NuGet-konfigurationsfilen:

    dotnet nuget push foo.nupkg
    
  • Push-överför foo.symbols.nupkg till standardsymbolkällan:

    dotnet nuget push foo.symbols.nupkg
    
  • Push-överför foo.nupkg till standard push-källan som anges i NuGet-konfigurationsfilen med en tidsgräns på 360 sekunder:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Push-överför alla .nupkg-filer i den aktuella katalogen till den push-standardkälla som anges i NuGet-konfigurationsfilen:

    dotnet nuget push "*.nupkg"
    

    Anteckning

    Om det här kommandot inte fungerar kan det bero på en bugg som fanns i äldre versioner av SDK :t (.NET Core 2.1 SDK och tidigare versioner). Du kan åtgärda detta genom att uppgradera SDK-versionen eller köra följande kommando i stället: dotnet nuget push "**/*.nupkg"

    Anteckning

    De omslutande citattecknarna krävs för gränssnitt som bash som utför filbläddring. Mer information finns i NuGet/Home#4393.

  • Push-överför alla .nupkg-filer till standard push-källan som anges i NuGet-konfigurationsfilen, även om ett 409 Konfliktsvar returneras av en HTTP(S)-server:

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Push-överför alla .nupkg-filer i den aktuella katalogen till en lokal feedkatalog:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Information om push-överföring till Azure Artifacts finns i Push-dokumentationen för Azure Artifacts.