Delen via


Gebruik de opdracht `dotnet nuget push` om een pakket naar een NuGet-feed te verzenden.

Dit artikel is van toepassing op: ✔️ .NET 6 SDK en latere versies

Naam

dotnet nuget push - Pusht een pakket naar de server en publiceert het.

Samenvatting

dotnet nuget push [<ROOT>] [--allow-insecure-connections] [-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>]
    [--configfile <FILE>]

dotnet nuget push -h|--help

Beschrijving

Met dotnet nuget push de opdracht wordt een pakket naar de server gepusht en gepubliceerd. De pushopdracht maakt gebruik van server- en referentiegegevens die zijn gevonden 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/NuGet.Config (Linux/macOS) te laden en vervolgens eennuget.config of .nuget\nuget.config te laden vanaf de hoofdmap van het station en eindigt op de huidige map.

Met de opdracht wordt een bestaand pakket gepusht. Er wordt geen pakket gemaakt. Als u een pakket wilt maken, gebruikt u dotnet pack.

Hiërarchische mapstructuur

Met deze opdracht kunt u pakketten opslaan in een hiërarchische mapstructuur. Dit wordt aanbevolen om de prestaties te optimaliseren. Pakketten worden opgeslagen in een hiërarchische mapstructuur bij het publiceren naar een lokale map (feed), zoals nuget add wel, als er al ten minste één pakket in de feed is die zich in een hiërarchische mapstructuur bevindt. Als de feed al een gestructureerd pakket voor een hiërarchische map bevat, dotnet nuget push respecteert u die structuur. 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 met 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 dit om uw pakket te publiceren naar de lokale feed.
  • U kunt nu de map die u eerder hebt gekopieerd, verwijderen en u kunt vrijelijk publiceren dotnet nuget push naar uw lokale feed.

U kunt ook de NuGet CLI voor het eerste pakket gebruiken en vervolgens voor de rest 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

  • --allow-insecure-connections

    Hiermee kunt u pushen naar HTTP-bronnen (onveilig).

  • -d|--disable-buffering

    Schakelt buffering uit bij het pushen naar een HTTP(S)-server om het geheugengebruik te verminderen.

  • --force-english-output

    Dwingt de toepassing uit te voeren met behulp van een invariante, Engelse cultuur.

  • -?|-h|--help

    Hiermee wordt een beschrijving afgedrukt van hoe de opdracht gebruikt moet worden.

  • --interactive

    Hiermee kan de opdracht stoppen en wachten op invoer of actie van de gebruiker. Bijvoorbeeld om de verificatie te voltooien.

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

    De API-sleutel voor de server.

  • -n|--no-symbols

    Pusht geen symbolen (zelfs niet aanwezig).

  • --no-service-endpoint

    Voegt 'api/v2/package' niet toe aan de bron-URL.

  • -s|--source <SOURCE>

    Hiermee geeft u de server-URL. NuGet identificeert een UNC- of lokale mapbron en kopieert het bestand daar 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, behandelt u een 409 Conflict-reactie als waarschuwing, zodat andere pushes kunnen doorgaan.

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

    De API-sleutel voor de symboolserver.

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

    Hiermee geeft u de URL van de symboolserver.

  • -t|--timeout <TIMEOUT>

    Hiermee geeft u de time-out voor pushen naar een server in seconden. De standaardwaarde is 300 seconden (5 minuten). Als u 0 opgeeft, wordt de standaardwaarde toegepast.

  • --configfile

    Het NuGet-configuratiebestand (nuget.config) dat moet worden gebruikt. Indien opgegeven, worden alleen de instellingen uit dit bestand gebruikt. Als dit niet is opgegeven, wordt de hiërarchie van configuratiebestanden uit de huidige map gebruikt. Zie Algemene NuGet-configuraties voor meer informatie.

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 een API-sleutel wordt opgegeven:

    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 een API-sleutel wordt opgegeven:

    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 bron van de standaardsymbolen:

    dotnet nuget push foo.symbols.nupkg
    
  • Push foo.nupkg naar de standaardpushbron 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 standaardpushbron die is opgegeven in het NuGet-configuratiebestand:

    dotnet nuget push "*.nupkg"
    
  • Push alle .nupkg-bestanden naar de standaardpkg-bron 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
    
  • Raadpleeg de pushdocumentatie van Azure Artifacts voor pushen naar Azure Artifacts.