Administrar paquetes NuGet con la CLI de NuGet

Puede utilizar la herramienta CLI nuget.exe para administrar paquetes NuGet en proyectos y soluciones de Visual Studio En este artículo se describen los comandos de la CLI de NuGet más comunes para administrar paquetes NuGet. Todos estos comandos funcionan en Windows, y la mayoría funcionan en Mac y en Linux con Mono.

La CLI de NuGet funciona en .NET Framework y en proyectos que no son del estilo SDK, por ejemplo, proyectos que no son del estilo SDK dirigidos a bibliotecas .NET Standard. Los comandos de la CLI de NuGet pueden utilizar un archivo packages.config del proyecto que enumere las referencias a paquetes. En el caso de proyectos que no sean del estilo SDK y que utilicen PackageReference en lugar de packages.config para las referencias de paquetes, utilice la CLI de dotnet.

Nota:

Para la mayoría de los proyectos que no son del estilo SDK y que utilizan packages.config, lo mejor es migrar packages.config a PackageReference y, a continuación, utilizar la CLI de dotnet en lugar de la CLI de NuGet para administrar los paquetes. Sin embargo, no se pueden migrar proyectos C++ o ASP.NET.

Para la mayoría de los comandos, la herramienta de la CLI de NuGet usa el directorio actual, a menos que especifique una ubicación diferente en el comando. Para ejecutar los comandos de la CLI de NuGet, abra una línea de comandos y cambie al directorio que contiene el archivo del proyecto.

Para obtener una lista completa de los comandos y sus argumentos, consulte la referencia de la CLI de NuGet.

Requisitos previos

Descargue la CLI de NuGet desde nuget.org. Guarde el archivo nuget.exe en un directorio adecuado y asegúrese de que el directorio se encuentra en la variable de entorno PATH.

Nota:

También puede utilizar la herramienta winget para Windows o Homebrew para macOS.

Para averiguar la versión de la CLI de NuGet, abra una línea de comandos y ejecute nuget help o para evitar tener que desplazarse hacia arriba, use nuget help | more. La primera línea de la salida de la ayuda muestra la versión.

Instalación de un paquete

El comando install de la CLI de NuGet descarga e instala paquetes NuGet especificados.

Importante

El comando install no modifica el archivo de proyecto ni el archivo packages.config. Los comandos install y restore solo agregan paquetes al disco, pero no agregan dependencias a proyectos. Para agregar dependencias del proyecto, agregue paquetes a través de la interfaz de usuario de Visual Studio Administrador de paquetes o la consola de Administrador de paquetes, ejecute install o restore.

Use la opción -OutputDirectory para instalar paquetes en un directorio específico. Si no especifica un directorio de salida, install usa el directorio actual.

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

Por ejemplo, para instalar el paquete Newtonsoft.json en el subdirectorio packages , use el siguiente comando:

nuget install Newtonsoft.Json -OutputDirectory packages

En lugar de especificar un paquete que se va a instalar, puede especificar un archivo packages.config existente en el directorio actual u otro. El comando install instala todos los paquetes enumerados en el archivo packages.config.

nuget install packages.config

Por ejemplo, el siguiente comando instala todos los paquetes enumerados en packages.config en el subdirectorio config en el subdirectorio packages :

nuget install config\packages.config -OutputDirectory packages

Instalación de una versión específica de un paquete

A menos que se especifique la versión del paquete, NuGet instala la versión más reciente de un paquete cuando se usa el comando install. Para instalar una versión específica de un paquete, utilice la opción -Version:

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

Por ejemplo, para instalar la versión 12.0.1 del paquete Newtonsoft.json, utilice:

nuget install Newtonsoft.Json -Version 12.0.1

Enumeración de paquetes

Use el comando list para mostrar una lista de paquetes instalados en las carpetas de paquetes. Use la opción -Source para restringir la lista.

nuget list -Source <source>

Por ejemplo, para enumerar paquetes en el subdirectorio packages de MyProject, use:

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

También puede usar un término de búsqueda para buscar nombres de paquete, etiquetas o descripciones:

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

Actualización de todos los paquetes

Use el comando update para actualizar todos los paquetes de un archivo packages.config de proyecto a sus versiones disponibles más recientes. Es mejor ejecutar restore antes de ejecutar update.

nuget update

Eliminación de un paquete

Para quitar un paquete, elimine ese paquete de la carpeta del proyecto. Para reinstalar paquetes, utilice los comandos o restore o install.

La eliminación de paquetes del disco no actualiza los archivos del proyecto, packages.config ni NuGet.Config . La mejor manera de eliminar paquetes es a través de la interfaz de usuario de Visual Studio Administrador de paquetes o Consola de Administrador de paquetes.

Restaurar paquetes

El comando de restauración de la CLI de NuGet descarga e instala los paquetes que faltan. El comando funciona en proyectos que usan PackageReference o packages.config para las referencias de paquete.

Al igual que install, el comando restore solo agrega paquetes al disco, pero no modifica el archivo de proyecto o packages.config. Para agregar dependencias del proyecto, use la interfaz de usuario o la consola de Visual Studio Administrador de paquetes.

Para restaurar los paquetes, ejecute el siguiente comando:

nuget restore <projectPath>

El comando restore usa un archivo de solución o un archivo package.config en la ruta de acceso del proyecto especificada.

Por ejemplo, para restaurar todos los paquetes de MySolution.sln en el directorio actual, ejecute:

nuget restore MySolution.sln

Nota:

En el caso de los proyectos que no son de estilo SDK que usan PackageReference, use msbuild -t:restore para restaurar paquetes en su lugar.

Para más información, consulte Restaurar paquetes.

Pasos siguientes