Delen via


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