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://customsource
och 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.