Condividi tramite


dotnet nuget push (comando per caricare pacchetti su un server NuGet)

Questo articolo si applica a: ✔️ .NET 6 SDK e versioni successive

Nome

dotnet nuget push - Esegue il push di un pacchetto nel server e lo pubblica.

Riepilogo

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

Descrizione

Il comando esegue il dotnet nuget push push di un pacchetto nel server e lo pubblica. Il comando push usa i dettagli del server e delle credenziali disponibili nel file di configurazione NuGet del sistema o nella catena di file di configurazione. Per altre informazioni sui file di configurazione, vedere Configurazione del comportamento di NuGet. La configurazione predefinita di NuGet viene ottenuta caricando %AppData%\NuGet\NuGet.config (Windows) o $HOME/.nuget/NuGet/NuGet.Config (Linux/macOS), quindi caricando qualsiasi nuget.config o .nuget\nuget.config a partire dalla radice dell'unità e terminando nella directory corrente.

Il comando esegue il push di un pacchetto esistente. Non crea un pacchetto. Per creare un pacchetto, usare dotnet pack.

Struttura gerarchica delle cartelle

Questo comando può archiviare i pacchetti in una struttura di cartelle gerarchica, consigliata per ottimizzare le prestazioni. Archivia i pacchetti in una struttura di cartelle gerarchica durante la pubblicazione in una cartella locale (feed), come nuget add accade, se nel feed è già presente almeno un pacchetto che si trova in una struttura di cartelle gerarchica. Se il feed contiene già un pacchetto strutturato di cartelle gerarchiche, dotnet nuget push rispetta tale struttura. Se quindi si vuole pubblicare in un feed locale usando l'interfaccia della riga di comando di .NET anziché l'interfaccia della riga di comando di NuGet:

  • Prima di pubblicare il primo pacchetto, passare alla cartella dei pacchetti globali, in %userprofile%.nuget\packages e selezionare la cartella radice di un ID pacchetto. Può essere qualsiasi pacchetto che non fa parte di un framework, ad esempio .NET Standard o ASP.NET.
  • Copiare la cartella del pacchetto selezionata nella cartella radice del feed locale.
  • Usare dotnet nuget push per pubblicare il pacchetto nel feed locale.
  • È ora possibile eliminare la cartella copiata in precedenza ed è possibile usarla dotnet nuget push liberamente per pubblicare nel feed locale.

In alternativa, usare l'interfaccia della riga di comando di NuGet per il primo pacchetto, quindi è possibile usare dotnet nuget push per il resto. Per altre informazioni, vedere Feed locali.

Argomenti

  • ROOT

    Specifica il percorso del file del pacchetto di cui eseguire il push.

Opzioni

  • --allow-insecure-connections

    Consente il push in origini HTTP (non sicure).

  • -d|--disable-buffering

    Disabilita il buffering durante il push in un server HTTP(S) per ridurre l'utilizzo della memoria.

  • --force-english-output

    Forza l'esecuzione dell'applicazione usando impostazioni cultura invarianti basate sull'inglese.

  • -?|-h|--help

    Stampa una descrizione di come usare il comando .

  • --interactive

    Consente al comando di arrestarsi e attendere l'input o l'azione dell'utente, ad esempio il completamento dell'autenticazione.

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

    Chiave API per il server.

  • -n|--no-symbols

    Non esegue il push dei simboli (anche se presenti).

  • --no-service-endpoint

    Non aggiunge "api/v2/package" all'URL di origine.

  • -s|--source <SOURCE>

    Specifica l'URL del server. NuGet identifica un'origine di cartelle unC o locale e copia semplicemente il file in questo file anziché eseguirne il push tramite HTTP.

    Importante

    A partire da NuGet 3.4.2, si tratta di un parametro obbligatorio a meno che il file di configurazione NuGet non specifichi un DefaultPushSource valore. Per altre informazioni, vedere Configuring NuGet behavior (Configurazione del comportamento di NuGet).

  • --skip-duplicate

    Quando si esegue il push di più pacchetti in un server HTTP(S), considera qualsiasi 409 risposta in conflitto come avviso in modo che altri push possano continuare.

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

    Chiave API per il server dei simboli.

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

    Specifica l'URL del server di simboli.

  • -t|--timeout <TIMEOUT>

    Specifica il timeout per il push in un server in secondi. Il valore predefinito è 300 secondi (5 minuti). Se si specifica 0, viene applicato il valore predefinito.

  • --configfile

    File di configurazione NuGet (nuget.config) da usare. Se si dispone di indicazione, verranno usate solo le impostazioni di questo file. Se non specificato, verrà usata la gerarchia dei file di configurazione dalla directory corrente. Per ulteriori informazioni, vedere Configurazioni NuGet comuni.

Esempi

  • Eseguire il push di foo.nupkg nell'origine push predefinita specificata nel file di configurazione NuGet usando una chiave API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a
    
  • Eseguire il push di foo.nupkg nel server NuGet ufficiale, specificando una chiave API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://api.nuget.org/v3/index.json
    
  • Eseguire il push di foo.nupkg nell'origine https://customsourcepush personalizzata, specificando una chiave API:

    dotnet nuget push foo.nupkg -k 4003d786-cc37-4004-bfdf-c4f3e8ef9b3a -s https://customsource/
    
  • Eseguire il push di foo.nupkg nell'origine push predefinita specificata nel file di configurazione NuGet:

    dotnet nuget push foo.nupkg
    
  • Eseguire il push di foo.symbols.nupkg nell'origine dei simboli predefiniti:

    dotnet nuget push foo.symbols.nupkg
    
  • Eseguire il push di foo.nupkg nell'origine push predefinita specificata nel file di configurazione NuGet, con un timeout di 360 secondi:

    dotnet nuget push foo.nupkg --timeout 360
    
  • Eseguire il push di tutti i file con estensione nupkg nella directory corrente all'origine push predefinita specificata nel file di configurazione NuGet:

    dotnet nuget push "*.nupkg"
    
  • Eseguire il push di tutti i file con estensione nupkg nell'origine push predefinita specificata nel file di configurazione NuGet, anche se viene restituita una risposta di conflitto 409 da un server HTTP(S):

    dotnet nuget push "*.nupkg" --skip-duplicate
    
  • Eseguire il push di tutti i file con estensione nupkg nella directory corrente in una directory del feed locale:

    dotnet nuget push "*.nupkg" -s c:\mydir
    
  • Per il push in Azure Artifacts, vedere la documentazione push di Azure Artifacts.