dotnet nuget push
Dit artikel is van toepassing op: ✔️ .NET Core 3.1 SDK en latere versies
Naam
dotnet nuget push
- Pusht een pakket naar de server en publiceert het.
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
Beschrijving
Met de dotnet nuget push
opdracht wordt een pakket naar de server gepusht en gepubliceerd. De pushopdracht maakt gebruik van server- en referentiegegevens die te vinden zijn in het NuGet-configuratiebestand of de keten van configuratiebestanden van het systeem. Zie NuGet-gedrag configureren voor meer informatie over configuratiebestanden. De standaardconfiguratie van NuGet wordt verkregen door %AppData%\NuGet\NuGet.config (Windows) of $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS) te laden en vervolgens allenuget.config of .nuget\nuget.config te laden vanaf de hoofdmap van het station en eindigend in de huidige map.
Met de opdracht wordt een bestaand pakket gepusht. Er wordt geen pakket gemaakt. Gebruik dotnet pack
om een pakket te maken.
Hiërarchische mapstructuur
Met deze opdracht kunnen pakketten worden opgeslagen in een hiërarchische mapstructuur. Dit wordt aanbevolen om de prestaties te optimaliseren. Bij het publiceren naar een lokale map (feed) worden pakketten opgeslagen in een hiërarchische mapstructuur, net als nuget add
als er al ten minste één pakket in de feed is dat zich in een hiërarchische mapstructuur bevindt. Als de feed al een gestructureerd pakket voor hiërarchische mappen bevat, dotnet nuget push
wordt deze structuur gerespecteerd. Dus als u wilt publiceren naar een lokale feed met behulp van de .NET CLI in plaats van de NuGet CLI:
- Voordat u het eerste pakket publiceert, gaat u naar de map globale pakketten op %userprofile%.nuget\packages en selecteert u de hoofdmap van een pakket-id. Het kan elk pakket zijn dat geen deel uitmaakt van een framework, zoals .NET Standard of ASP.NET.
- Kopieer de geselecteerde pakketmap naar de hoofdmap van de lokale feed.
- Gebruik
dotnet nuget push
om uw pakket te publiceren naar de lokale feed. - U kunt nu de map verwijderen die u eerder hebt gekopieerd en u kunt vrijelijk publiceren
dotnet nuget push
naar uw lokale feed.
U kunt ook de NuGet CLI gebruiken voor het eerste pakket, waarna u voor de rest kunt gebruiken dotnet nuget push
. Zie Lokale feeds voor meer informatie.
Argumenten
ROOT
Hiermee geeft u het bestandspad naar het pakket dat moet worden gepusht.
Opties
-d|--disable-buffering
Hiermee schakelt u buffering uit bij het pushen naar een HTTP(S)-server om het geheugengebruik te verminderen.
--force-english-output
Hiermee dwingt u af dat de toepassing wordt uitgevoerd met behulp van een invariante, Engelse cultuur.
-?|-h|--help
Geeft een beschrijving weer van het gebruik van de opdracht.
--interactive
Hiermee staat u de opdracht toe om te stoppen en te wachten op invoer of actie van de gebruiker. Bijvoorbeeld om de verificatie te voltooien. Beschikbaar sinds .NET Core 3.0 SDK.
-k|--api-key <API_KEY>
De API-sleutel voor de server.
-n|--no-symbols
Pusht geen symbolen (zelfs niet als deze aanwezig zijn).
--no-service-endpoint
'api/v2/package' wordt niet toegevoegd aan de bron-URL.
-s|--source <SOURCE>
Hiermee geeft u de SERVER-URL op. NuGet identificeert een UNC- of lokale mapbron en kopieert het bestand daarheen in plaats van het te pushen met behulp van HTTP.
Belangrijk
Vanaf NuGet 3.4.2 is dit een verplichte parameter, tenzij het NuGet-configuratiebestand een
DefaultPushSource
waarde opgeeft. Zie NuGet-gedrag configureren voor meer informatie.--skip-duplicate
Bij het pushen van meerdere pakketten naar een HTTP(S)-server, wordt een 409-conflictreactie als een waarschuwing behandeld, zodat andere pushes kunnen worden voortgezet.
-sk|--symbol-api-key <API_KEY>
De API-sleutel voor de symboolserver.
-ss|--symbol-source <SOURCE>
Hiermee geeft u de URL van de symboolserver op.
-t|--timeout <TIMEOUT>
Hiermee geeft u de time-out voor het pushen naar een server in seconden. De standaardwaarde is 300 seconden (5 minuten). Als u 0 opgeeft, wordt de standaardwaarde toegepast.
Voorbeelden
Push foo.nupkg naar de standaardpushbron die is opgegeven in het NuGet-configuratiebestand, met behulp van een API-sleutel:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
Push foo.nupkg naar de officiële NuGet-server, waarbij u een API-sleutel opgeeft:
dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
Push foo.nupkg naar de aangepaste pushbron
https://customsource
, waarbij u een API-sleutel opgeeft:dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
Push foo.nupkg naar de standaardpushbron die is opgegeven in het NuGet-configuratiebestand:
dotnet nuget push foo.nupkg
Push foo.symbols.nupkg naar de standaard symbolenbron:
dotnet nuget push foo.symbols.nupkg
Push foo.nupkg naar de standaard pushbron die is opgegeven in het NuGet-configuratiebestand, met een time-out van 360 seconden:
dotnet nuget push foo.nupkg --timeout 360
Push alle .nupkg-bestanden in de huidige map naar de standaard pushbron die is opgegeven in het NuGet-configuratiebestand:
dotnet nuget push "*.nupkg"
Notitie
Als deze opdracht niet werkt, kan dit worden veroorzaakt door een fout in oudere versies van de SDK (.NET Core 2.1 SDK en eerdere versies). U kunt dit oplossen door uw SDK-versie bij te werken of in plaats daarvan de volgende opdracht uit te voeren:
dotnet nuget push "**/*.nupkg"
Notitie
De aanhalingstekens zijn vereist voor shells zoals bash die bestand globbing uitvoeren. Zie NuGet/Home#4393 voor meer informatie.
Push alle .nupkg-bestanden naar de standaardpushbron die is opgegeven in het NuGet-configuratiebestand, zelfs als een 409 Conflict-antwoord wordt geretourneerd door een HTTP(S)-server:
dotnet nuget push "*.nupkg" --skip-duplicate
Push alle .nupkg-bestanden in de huidige map naar een lokale feedmap:
dotnet nuget push "*.nupkg" -s c:\mydir
Zie de pushdocumentatie van Azure Artifacts voor pushen naar Azure Artifacts.