Gestire pacchetti NuGet con l'interfaccia della riga di comando di NuGet

È possibile usare lo strumento dell'interfaccia della nuget.exe riga di comando per gestire i pacchetti NuGet nei progetti e nelle soluzioni di Visual Studio. Questo articolo descrive i comandi più comuni dell'interfaccia della riga di comando di NuGet per la gestione dei pacchetti NuGet. Tutti questi comandi funzionano in Windows e la maggior parte funziona su Mac e in Linux con Mono.

L'interfaccia della riga di comando di NuGet viene eseguita in .NET Framework e in progetti non in stile SDK, ad esempio progetti di tipo non SDK destinati alle librerie .NET Standard. I comandi dell'interfaccia della riga di comando di NuGet possono usare un file package.config di progetto che elenca i riferimenti ai pacchetti. Per i progetti non in stile SDK che usano PackageReference invece di packages.config per i riferimenti ai pacchetti, usare invece l'interfaccia della riga di comando dotnet .

Nota

Per la maggior parte dei progetti non in stile SDK che usano packages.config, è consigliabile eseguire la migrazione di packages.config a PackageReference e quindi usare l'interfaccia della riga di comando dotnet anziché l'interfaccia della riga di comando di NuGet per gestire i pacchetti. Non è tuttavia possibile eseguire la migrazione di progetti C++ o ASP.NET.

Per la maggior parte dei comandi, lo strumento dell'interfaccia della riga di comando di NuGet usa la directory corrente, a meno che non si specifichi un percorso diverso nel comando. Per eseguire i comandi dell'interfaccia della riga di comando di NuGet, aprire una riga di comando e passare alla directory contenente il file di progetto.

Per un elenco completo dei comandi e dei relativi argomenti, vedere le informazioni di riferimento sull'interfaccia della riga di comando di NuGet.

Prerequisiti

Scaricare l'interfaccia della riga di comando di NuGet da nuget.org. Salvare il file nuget.exe in una directory appropriata e assicurarsi che la directory si trova nella variabile di ambiente PATH.

Nota

È anche possibile usare lo strumento winget per Windows o Homebrew per macOS.

Per individuare la versione dell'interfaccia della riga di comando di NuGet, aprire una riga di comando ed eseguire nuget helpoppure per evitare di dover scorrere verso l'alto, usare nuget help | more. La prima riga nell'output del comando help mostra la versione.

Installare un pacchetto

Il comando di installazione dell'interfaccia della riga di comando nuGet scarica e installa i pacchetti NuGet specificati.

Importante

Il install comando non modifica il file di progetto o packages.config . I install comandi e restore aggiungono solo pacchetti al disco, ma non aggiungono dipendenze ai progetti. Per aggiungere dipendenze di progetto, aggiungere pacchetti tramite l'interfaccia utente di Visual Studio Gestione pacchetti o Gestione pacchetti Console, quindi eseguire install o restore.

Usare l'opzione -OutputDirectory per installare i pacchetti in una directory specifica. Se non si specifica una directory di output, install usa la directory corrente.

nuget install <packageID | configFilePath> -OutputDirectory <outputDirectory>

Ad esempio, per installare il Newtonsoft.json pacchetto nella sottodirectory packages , usare il comando seguente:

nuget install Newtonsoft.Json -OutputDirectory packages

Anziché specificare un pacchetto da installare, è possibile specificare un file packages.config esistente nella directory corrente o in un'altra. Il install comando installa tutti i pacchetti elencati nel file packages.config .

nuget install packages.config

Ad esempio, il comando seguente installa tutti i pacchetti elencati in packages.config nella sottodirectory config nella sottodirectory packages:

nuget install config\packages.config -OutputDirectory packages

Installare una versione specifica di un pacchetto

Il install comando installa la versione più recente di un pacchetto a meno che non si specifichi una versione diversa. Per installare una versione specifica di un pacchetto, usare l'opzione -Version :

nuget install <packageID | configFilePath> -Version <version>

Ad esempio, per installare la versione 12.0.1 del Newtonsoft.json pacchetto, usare:

nuget install Newtonsoft.Json -Version 12.0.1

Elencare i pacchetti

Usare il comando list per visualizzare un elenco di pacchetti installati nelle cartelle dei pacchetti. Usare l'opzione -Source per limitare l'elenco.

nuget list -Source <source>

Ad esempio, per elencare i pacchetti nella sottodirectory dei pacchetti di MyProject, usare:

nuget list -Source C:\Users\%USERNAME%\source\repos\MyProject\packages

È anche possibile usare un termine di ricerca per cercare nomi, tag o descrizioni dei pacchetti:

nuget list <"search term"> -Source <source>

Aggiornare tutti i pacchetti

Usare il comando update per aggiornare tutti i pacchetti in un file package.config di progetto alle versioni disponibili più recenti. È consigliabile eseguire restore prima di eseguire update.

nuget update

Rimuovere un pacchetto

Per rimuovere un pacchetto, eliminare il pacchetto dalla cartella del progetto. Per reinstallare i pacchetti, usare i restore comandi o install .

L'eliminazione di pacchetti dal disco non aggiorna i file di progetto, packages.config o NuGet.Config . Il modo migliore per rimuovere i pacchetti consiste nell'interfaccia utente di Visual Studio Gestione pacchetti o nella console di Gestione pacchetti.

Ripristinare pacchetti

Il comando di ripristino dell'interfaccia della riga di comando nuGet scarica e installa eventuali pacchetti mancanti. Il comando funziona su progetti che usano PackageReference o packages.config per i riferimenti ai pacchetti.

Come install, il restore comando aggiunge solo pacchetti al disco, ma non modifica il file di progetto o packages.config. Per aggiungere dipendenze di progetto, usare l'interfaccia utente di Visual Studio Gestione pacchetti o la console.

Per ripristinare i pacchetti, eseguire il comando seguente:

nuget restore <projectPath>

Il restore comando usa un file di soluzione o un file package.config nel percorso del progetto specificato.

Ad esempio, per ripristinare tutti i pacchetti per MySolution.sln nella directory corrente, eseguire:

nuget restore MySolution.sln

Nota

Per i progetti non in stile SDK che usano PackageReference, usare invece msbuild -t:restore per ripristinare i pacchetti.

Per altre informazioni, vedere Ripristinare i pacchetti.

Passaggi successivi