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 help
oppure 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.