Comando restore (interfaccia della riga di comando nuGet)

Si applica a: consumo di pacchetti • Versioni supportate: 2.7+

Scarica e installa eventuali pacchetti mancanti nella packages cartella . Se usato con NuGet 4.0+ e il formato PackageReference, genera un <project>.nuget.props file, se necessario, nella obj cartella . Il file può essere omesso dal controllo del codice sorgente.

In Mac OSX e Linux con l'interfaccia della riga di comando in Mono, il ripristino dei pacchetti non è supportato con PackageReference.

Utilizzo

nuget restore <projectPath> [options]

dove <projectPath> specifica il percorso di una soluzione o di un packages.config file. Per informazioni sul comportamento, vedere la sezione Osservazioni di seguito.

Opzioni

  • -ConfigFile

    File di configurazione NuGet da applicare. Se non specificato, %AppData%\NuGet\NuGet.Config viene usato (Windows) o ~/.nuget/NuGet/NuGet.Config~/.config/NuGet/NuGet.Config (Mac/Linux).

  • -DirectDownload

    (4.0+) Scarica i pacchetti direttamente senza popolare le cache con file binari o metadati.

  • -DisableParallelProcessing

    Disabilita il ripristino di più pacchetti in parallelo.

  • -FallbackSource

    (3.2+) Elenco di origini dei pacchetti da usare come fallback nel caso in cui il pacchetto non sia presente nell'origine primaria o predefinita. Usare un punto e virgola per separare le voci di elenco.

  • -Force

    Nei progetti basati su PackageReference forza la risoluzione di tutte le dipendenze anche se l'ultimo ripristino è riuscito. Specificare questo flag è simile all'eliminazione del project.assets.json file. Ciò non ignora la cache http.

  • -ForceEnglishOutput

    (3.5+) Forza nuget.exe l'esecuzione usando impostazioni cultura invarianti basate sull'inglese.

  • -ForceEvaluate

    Forza restore a valutare di nuovo tutte le dipendenze anche se esiste già un file di blocco.

  • -?|-help

    Visualizza le informazioni della Guida per il comando .

  • -LockFilePath

    Percorso di output in cui viene scritto il file di blocco del progetto. Per impostazione predefinita, tale valore è PROJECT_ROOT\packages.lock.json.

  • -LockedMode

    Non consentire l'aggiornamento del file di blocco del progetto.

  • -MSBuildPath

    (4.0+) Specifica il percorso di MSBuild da usare con il comando , che ha la precedenza su -MSBuildVersion.

  • -MSBuildVersion

    (3.2+) Specifica la versione di MSBuild da usare con questo comando. I valori supportati sono 4, 12, 14, 15.1, 15.3, 15.4, 15.5, 15.6, 15.7, 15.8, 15.9. Per impostazione predefinita, MSBuild nel percorso è selezionato. In caso contrario, per impostazione predefinita viene selezionata la versione più recente installata di MSBuild.

  • -NoHttpCache

    Impedisce a NuGet di usare pacchetti memorizzati nella cache HTTP. Vedere Gestione dei pacchetti globali e delle cartelle della cache.

  • -NonInteractive

    Elimina le richieste di input o conferme dell'utente.

  • -OutputDirectory

    Specifica la cartella in cui vengono installati i pacchetti. Se non viene specificata alcuna cartella, viene utilizzata la cartella corrente. Obbligatorio quando si esegue il ripristino con un packages.config file a meno che PackagesDirectory non venga usato o SolutionDirectory .

  • -PackageSaveMode

    Specifica i tipi di file da salvare dopo l'installazione del pacchetto: uno di nuspec, nupkgo nuspec;nupkg.

  • -PackagesDirectory

    Uguale a OutputDirectory. Obbligatorio quando si esegue il ripristino con un packages.config file a meno che OutputDirectory non venga usato o SolutionDirectory .

  • -Project2ProjectTimeOut

    Timeout in secondi per la risoluzione dei riferimenti da progetto a progetto.

  • -Recursive

    (4.0+) Ripristina tutti i progetti di riferimento per i progetti UWP e .NET Core. Non si applica ai progetti che usano packages.config.

  • -RequireConsent

    Verifica che il ripristino dei pacchetti sia abilitato prima di scaricare e installare i pacchetti. Per informazioni dettagliate, vedere Ripristino dei pacchetti.

  • -SolutionDirectory

    Specifica la cartella della soluzione. Non valido durante il ripristino dei pacchetti per una soluzione. Obbligatorio quando si esegue il ripristino con un packages.config file a meno che PackagesDirectory non venga usato o OutputDirectory .

  • -Source

    Specifica l'elenco delle origini dei pacchetti (come URL) da usare per il ripristino. Se omesso, il comando usa le origini fornite nei file di configurazione, vedere Configurazione del comportamento di NuGet. Usare un punto e virgola per separare le voci di elenco.

  • -UseLockFile

    Consente di generare e usare il file di blocco del progetto con il ripristino.

  • -Verbosity [normal|quiet|detailed]

    Specifica la quantità di dettagli visualizzati nell'output: normal (impostazione predefinita), quieto detailed.

Vedere anche Variabili di ambiente

Osservazioni:

Il comando restore esegue i passaggi seguenti:

  1. Determinare la modalità operativa del comando restore.

    tipo di file projectPath Comportamento
    Soluzione (cartella) NuGet cerca un .sln file e lo usa se trovato; in caso contrario, restituisce un errore. (SolutionDir)\.nuget viene utilizzato come cartella iniziale.
    File .sln Ripristinare i pacchetti identificati dalla soluzione; restituisce un errore se -SolutionDirectory viene usato. $(SolutionDir)\.nuget viene utilizzato come cartella iniziale.
    packages.config o file di progetto Ripristinare i pacchetti elencati nel file, risolvendo e installando le dipendenze.
    Altro tipo di file Si presuppone che il file sia un .sln file come sopra. Se non si tratta di una soluzione, NuGet restituisce un errore.
    (projectPath non specificato)
    • NuGet cerca i file della soluzione nella cartella corrente. Se viene trovato un singolo file, viene usato per ripristinare i pacchetti; se vengono trovate più soluzioni, NuGet restituisce un errore.
    • Se non sono presenti file di soluzione, NuGet cerca un packages.config e lo usa per ripristinare i pacchetti.
    • Se non viene trovata alcuna soluzione o packages.config file, NuGet restituisce un errore.
  2. Determinare la cartella dei pacchetti usando l'ordine di priorità seguente (NuGet restituisce un errore se nessuna di queste cartelle viene trovata):

    • Cartella specificata con -PackagesDirectory.
    • Valore repositoryPath in Nuget.Config
    • Cartella specificata con -SolutionDirectory
    • $(SolutionDir)\packages
  3. Quando si ripristinano i pacchetti per una soluzione, NuGet esegue le operazioni seguenti:

    • Carica il file della soluzione.
    • Ripristina i pacchetti a livello di soluzione elencati nella $(SolutionDir)\.nuget\packages.configpackages cartella .
    • Ripristinare i pacchetti elencati nella $(ProjectDir)\packages.configpackages cartella . Per ogni pacchetto specificato, ripristinare il pacchetto in parallelo, a meno che non -DisableParallelProcessing sia specificato.

Esempi

# Restore packages for a solution file
nuget restore a.sln

# Restore packages for a solution file, using MSBuild version 14.0 to load the solution and its project(s)
nuget restore a.sln -MSBuildVersion 14

# Restore packages for a project's packages.config file, with the packages folder at the parent
nuget restore proj1\packages.config -PackagesDirectory ..\packages

# Restore packages for the solution in the current folder, specifying package sources
nuget restore -source "https://api.nuget.org/v3/index.json;https://www.myget.org/F/nuget"