Gestire pacchetti tramite l'interfaccia della riga di comando nuget.exeManage packages using the nuget.exe CLI

Lo strumento della riga di comando consente di aggiornare e ripristinare facilmente pacchetti NuGet in progetti e soluzioni.The CLI tool allows you to easily update and restore NuGet packages in projects and solutions. Questo strumento offre tutte le funzionalità di NuGet in Windows e anche la maggior parte delle funzionalità in Mac e Linux per l'esecuzione in Mono.This tool provides all NuGet capabilities on Windows, and also provides most features on Mac and Linux when running under Mono.

L'interfaccia della riga di comando di nuget.exe viene usata per il progetto .NET Framework e per i progetti non di tipo SDK, ad esempio un progetto non di tipo SDK destinato alle librerie .NET Standard.The nuget.exe CLI is for your .NET Framework project and non-SDK-style projects (for example, a non-SDK style project that targets .NET Standard libraries). Se si usa un progetto non di tipo SDK, di cui è stata eseguita la migrazione a PackageReference, usare invece l'interfaccia della riga di comando di dotnet.If you are using a non-SDK-style project that has been migrated to PackageReference, use the dotnet CLI instead. L'interfaccia della riga di comando di nuget.exe richiede un file packages.config per i riferimenti ai pacchetti.The nuget.exe CLI requires a packages.config file for package references.

Nota

Nella maggior parte degli scenari è consigliabile eseguire la migrazione dei progetti non di tipo SDK che usano packages.config a PackageReference, per poter poi usare l'interfaccia della riga di comando di dotnet anziché l'interfaccia della riga di comando di nuget.exe.In most scenarios, we recommend migrating non-SDK-style projects that use packages.config to PackageReference, and then you can use the dotnet CLI instead of the nuget.exe CLI. La migrazione non è attualmente disponibile per i progetti C++ e ASP.NET.Migration is not currently available for C++ and ASP.NET projects.

Questo articolo illustra l'utilizzo di base di alcuni dei comandi più comuni dell'interfaccia della riga di comando di nuget.exe.This article shows you basic usage for a few of the most common nuget.exe CLI commands. Per la maggior parte di questi comandi, lo strumento della riga di comando cerca un file di progetto nella directory corrente, a meno che non venga specificato un file di progetto nel comando.For most of these commands, the CLI tool looks for a project file in the current directory, unless a project file is specified in the command. Per un elenco completo dei comandi e degli argomenti che è possibile usare, vedere Informazioni di riferimento sull'interfaccia della riga di comando di nuget.exe.For a complete list of commands and the arguments you may use, see the nuget.exe CLI reference.

PrerequisitiPrerequisites

  • Installare l'interfaccia della riga di comando nuget.exe scaricandola da nuget.org, salvare il file .exe in una cartella appropriata e aggiungere tale cartella alla variabile di ambiente PATH.Install the nuget.exe CLI by downloading it from nuget.org, saving that .exe file to a suitable folder, and adding that folder to your PATH environment variable.

Installa un pacchettoInstall a package

Il comando install scarica e installa un pacchetto in un progetto (per impostazione predefinita nella cartella corrente) usando le origini pacchetto specificate.The install command downloads and installs a package into a project, defaulting to the current folder, using specified package sources. Installare i nuovi pacchetti nella cartella packages nella directory radice del progetto.Install new packages into the packages folder in your project root directory.

Importante

Il comando install non modifica un file di progetto o il file packages.config. È pertanto simile a restore perché aggiunge soltanto pacchetti su disco, ma non modifica le dipendenze di un progetto.The installcommand does not modify a project file or packages.config; in this way it's similar to restore in that it only adds packages to disk but does not change a project's dependencies. Per aggiungere una dipendenza, aggiungere un pacchetto tramite l'interfaccia utente di Gestione pacchetti o la console in Visual Studio oppure modificare il file packages.config, quindi eseguire install o restore.To add a dependency, either add a package through the Package Manager UI or Console in Visual Studio, or modify packages.config and then run either install or restore.

  1. Aprire una riga di comando e passare alla directory che contiene il file di progetto.Open a command line and switch to the directory that contains your project file.

  2. Usare il comando seguente per installare un pacchetto NuGet nella cartella packages.Use the following command to install a NuGet package to the packages folder.

    nuget install <packageID> -OutputDirectory packages
    

    Per installare il pacchetto Newtonsoft.json nella cartella packages, usare il comando seguente:To install the Newtonsoft.json package to the packages folder, use the following command:

    nuget install Newtonsoft.Json -OutputDirectory packages
    

In alternativa, è possibile usare il comando seguente per installare un pacchetto NuGet tramite un file packages.config esistente nella cartella packages.Alternatively, you can use the following command to install a NuGet package using an existing packages.config file to the packages folder. In questo modo non si aggiunge il pacchetto alle dipendenze del progetto, ma si installa il pacchetto localmente.This does not add the package to your project dependencies, but installs it locally.

nuget install packages.config -OutputDirectory packages

Installare una versione specifica di un pacchettoInstall a specific version of a package

Se la versione non viene specificata quando si usa il comando install, NuGet installa la versione più recente del pacchetto.If the version is not specified when you use the install command, NuGet installs the latest version of the package. È anche possibile installare una versione specifica di un pacchetto Nuget:You can also install a specific version of a Nuget package:

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

Per aggiungere ad esempio la versione 12.0.1 del pacchetto Newtonsoft.json, usare questo comando:For example, to add version 12.0.1 of the Newtonsoft.json package, use this command:

nuget install Newtonsoft.Json -Version 12.0.1

Per altre informazioni sulle limitazioni e sul comportamento del comando install, vedere Installare un pacchetto.For more information on the limitations and behavior of install, see Install a package.

Rimuovere un pacchettoRemove a package

Per eliminare uno o più pacchetti, eliminare i pacchetti che si vogliono rimuovere dalla cartella packages.To delete one or more packages, delete the packages you want to remove from the packages folder.

Se si vuole reinstallare i pacchetti, usare il comando restore o install.If you want to reinstall packages, use the restore or install command.

Elencare i pacchettiList packages

È possibile visualizzare un elenco dei pacchetti da un'origine specificata usando il comando list.You can display a list of packages from a given source using the list command. Usare l'opzione -Source per limitare la ricerca.Use the -Source option to restrict the search.

nuget list -Source <source>

Elencare ad esempio i pacchetti nella cartella packages.For example, list packages in the packages folder.

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

Se si usa un termine di ricerca, la ricerca includerà i nomi, i tag e le descrizioni dei pacchetti.If you use a search term, the search includes names of packages, tags, and package descriptions.

nuget list <search term>

Aggiornare un singolo pacchettoUpdate an individual package

Se la versione del pacchetto non viene specificata, NuGet installa la versione del pacchetto più recente quando si usa il comando install.NuGet installs the latest version of the package when you use the install command unless you specify the package version.

Aggiornare tutti i pacchettiUpdate all packages

Usare il comando update per aggiornare tutti i pacchetti.Use the update command to update all packages. Esegue l'aggiornamento di tutti i pacchetti in un progetto (usando packages.config) alle versioni disponibili più recenti.Updates all packages in a project (using packages.config) to their latest available versions. È consigliabile eseguire il comando restore prima di eseguire il comando update.It is recommended to run restore before running update.

nuget update

Ripristinare pacchettiRestore packages

Usare il comando restore che scarica e installa tutti i pacchetti mancanti dalla cartella packages.Use the restore command, which downloads and installs any packages missing from the packages folder.

Per i progetti migrati in PackageReference, usare invece msbuild -t:restore per ripristinare i pacchetti.For projects migrated to PackageReference, use msbuild -t:restore to restore packages instead.

Il comando restore aggiunge soltanto pacchetti su disco, ma non modifica le dipendenze di un progetto.restore only adds packages to disk but does not change a project's dependencies. Per ripristinare le dipendenze del progetto, modificare packages.config, quindi usare il comando restore.To restore project dependencies, modify packages.config, then use the restore command.

Come per gli altri comandi dell'interfaccia della riga di comando nuget.exe, aprire prima di tutto una riga di comando e passare alla directory che contiene il file di progetto.As with the other nuget.exe CLI commands, first open a command line and switch to the directory that contains your project file.

Per ripristinare un pacchetto tramite restore:To restore a package using restore:

nuget restore MySolution.sln

Ottenere la versione dell'interfaccia della riga di comandoGet the CLI version

Usare questo comando:Use this command:

nuget help

La prima riga nell'output del comando help mostra la versione.The first line in the help output shows the version. Per evitare lo scorrimento, usare invece nuget help | more.To avoid scrolling up, use nuget help | more instead.