Instalación y administración de paquetes en Visual Studio con el Administrador de paquetes NuGetInstall and manage packages in Visual Studio using the NuGet Package Manager

La interfaz de usuario del Administrador de paquetes NuGet en Visual Studio de Windows le permite instalar, desinstalar y actualizar fácilmente paquetes NuGet en proyectos y soluciones.The NuGet Package Manager UI in Visual Studio on Windows allows you to easily install, uninstall, and update NuGet packages in projects and solutions. Si necesita información sobre la experiencia en Visual Studio para Mac, consulte Incluir un paquete NuGet en el proyecto.For the experience in Visual Studio for Mac, see Including a NuGet package in your project. La interfaz de usuario del Administrador de paquetes no está incluida en Visual Studio Code.The Package Manager UI is not included with Visual Studio Code.

Nota

Si falta el Administrador de paquetes NuGet en Visual Studio 2015, revise Herramientas > Extensiones y actualizaciones… y busque la extensión Administrador de paquetes NuGet.If you're missing the NuGet Package Manager in Visual Studio 2015, check Tools > Extensions and Updates... and search for the NuGet Package Manager extension. Si no puede usar el instalador de extensiones en Visual Studio, descargue la extensión directamente de https://dist.nuget.org/index.html.If you're unable to use the extensions installer in Visual Studio, download the extension directly from https://dist.nuget.org/index.html.

A partir de Visual Studio 2017, NuGet y el Administrador de paquetes NuGet están instalados automáticamente con cualquier carga de trabajo relacionada con .NET.Starting in Visual Studio 2017, NuGet and the NuGet Package Manager are automatically installed with any .NET-related workloads. Para instalarlo individualmente, seleccione la opción Componentes individuales > Herramientas de código > Administrador de paquetes NuGet en el instalador de Visual Studio.Install it individually by selecting the Individual components > Code tools > NuGet package manager option in the Visual Studio installer.

Búsqueda e instalación de un paqueteFind and install a package

  1. En el Explorador de soluciones, haga clic con el botón derecho en Referencias o en un proyecto y seleccione Administrar paquetes NuGet… .In Solution Explorer, right-click either References or a project and select Manage NuGet Packages....

    Opción de menú Administrar paquetes NuGet

  2. La pestaña Examinar muestra los paquetes del origen seleccionado (consulte los orígenes de paquetes) ordenados por popularidad.The Browse tab displays packages by popularity from the currently selected source (see package sources). Busque un paquete específico en el cuadro de búsqueda que se encuentra en la esquina superior izquierda.Search for a specific package using the search box on the upper left. Seleccione un paquete de la lista para mostrar su información, lo que también habilita el botón Instalar junto con un menú desplegable para seleccionar la versión.Select a package from the list to display its information, which also enables the Install button along with a version-selection drop-down.

    Pestaña Examinar del cuadro de diálogo Administrar paquetes NuGet

  3. Seleccione la versión deseada en el menú desplegable y seleccione Instalar.Select the desired version from the drop-down and select Install. Visual Studio instala el paquete y sus dependencias en el proyecto.Visual Studio installs the package and its dependencies into the project. Es posible que se le pida aceptar los términos de licencia.You may be asked to accept license terms. Una vez que se complete la instalación, los paquetes agregados aparecerán en la pestaña Instalado. Los paquetes también aparecen en el nodo Referencias del Explorador de soluciones, lo que indica que es posible hace referencia a ellos en el proyecto con instrucciones using.When installation is complete, the added packages appear on the Installed tab. Packages are also listed in the References node of Solution Explorer, indicating that you can refer to them in the project with using statements.

    Referencias en el Explorador de soluciones

Sugerencia

Para incluir las versiones preliminares en la búsqueda y hacer que estén disponibles en el menú desplegable de las versiones, seleccione la opción Incluir versión preliminar.To include prerelease versions in the search, and to make prerelease versions available in the version drop-down, select the Include prerelease option.

Desinstala un paquete.Uninstall a package

  1. En el Explorador de soluciones, haga clic con el botón derecho en Referencias o en el proyecto deseado y seleccione Administrar paquetes NuGet… .In Solution Explorer, right-click either References or the desired project, and select Manage NuGet Packages....

  2. Seleccione la pestaña Instalado.Select the Installed tab.

  3. Seleccione el paquete que se va a desinstalar (use la búsqueda para filtrar la lista si es necesario) y seleccione Desinstalar.Select the package to uninstall (using search to filter the list if necessary) and select Uninstall.

    Desinstalación de un paquete

  4. Observe que los controles Incluir versión preliminar y Origen del paquete no tienen efecto al desinstalar los paquetes.Note that the Include prerelease and Package source controls have no effect when uninstalling packages.

Actualización de un paqueteUpdate a package

  1. En el Explorador de soluciones, haga clic con el botón derecho en Referencias o en el proyecto deseado y seleccione Administrar paquetes NuGet… . (En proyectos de sitio web, haga clic con el botón derecho en la carpeta Bin).In Solution Explorer, right-click either References or the desired project, and select Manage NuGet Packages.... (In web site projects, right-click the Bin folder.)

  2. Seleccione la pestaña Actualizaciones para ver los paquetes que tienen actualizaciones disponibles de los orígenes de paquetes seleccionados.Select the Updates tab to see packages that have available updates from the selected package sources. Seleccione Incluir versión preliminar para incluir los paquetes de versión preliminar en la lista de actualizaciones.Select Include prerelease to include prerelease packages in the update list.

  3. Seleccione el paquete que se va a actualizar, la versión deseada en el menú desplegable de la derecha y, luego, seleccione Actualizar.Select the package to update, select the desired version from the drop-down on the right, and select Update.

    Actualización de un paquete

  4. En algunos paquetes, el botón Actualizar está deshabilitado y aparece un mensaje que indica que un SDK hace referencia de forma implícita al paquete en cuestión (o que hay una referencia automática).For some packages, the Update button is disabled and a message appears saying that it's "Implicitly referenced by an SDK" (or "AutoReferenced"). Este mensaje indica que el paquete forma parte de un marco o SDK más grande y que no se debe actualizar por separado.This message indicates that the package is part of a larger framework or SDK and should not be updated independently. (Dichos paquetes están marcados internamente con <IsImplicitlyDefined>True</IsImplicitlyDefined>). Por ejemplo, Microsoft.NETCore.App forma parte del SDK de .NET Core y la versión del paquete no es igual que la versión del marco de runtime que la aplicación usa.(Such packages are internally marked with <IsImplicitlyDefined>True</IsImplicitlyDefined>.) For example, Microsoft.NETCore.App is part of the .NET Core SDK, and the package version is not the same as the version of the runtime framework used by the application. Necesita actualizar la instalación de .NET Core para obtener versiones nuevas del runtime de ASP.NET Core y .NET Core.You need to update your .NET Core installation to get new versions of the ASP.NET Core and .NET Core runtime. Consulte este documento para ver más detalles sobre los metapaquetes y el control de versiones de .NET Core.See this document for more details on .NET Core metapackages and versioning. Esto se aplica a los siguientes paquetes de uso común:This applies to the following commonly used packages:

    • Microsoft.AspNetCore.AllMicrosoft.AspNetCore.All
    • Microsoft.AspNetCore.AppMicrosoft.AspNetCore.App
    • Microsoft.NETCore.AppMicrosoft.NETCore.App
    • NETStandard.LibraryNETStandard.Library

    Paquete de ejemplo marcado como Hace referencia de forma implícita o Con referencia automática

  5. Para actualizar varios paquetes a sus versiones más recientes, selecciónelos en la lista y seleccione el botón Actualizar que está encima de la lista.To update multiple packages to their newest versions, select them in the list and select the Update button above the list.

  6. También puede actualizar un paquete individual desde la pestaña Instalado. En este caso, los detalles del paquete incluyen un selector de versión (sujeto a la opción Incluir versión preliminar) y un botón Actualizar.You can also update an individual package from the Installed tab. In this case, the details for the package include a version selector (subject to the Include prerelease option) and an Update button.

Administración de paquetes para la soluciónManage packages for the solution

Administrar los paquetes de una solución es un medio cómodo para trabajar con varios proyectos a la vez.Managing packages for a solution is a convenient means to work with multiple projects simultaneously.

  1. Seleccione el comando de menú Herramientas > Administrador de paquetes NuGet > Administrar paquetes NuGet para la solución… o haga clic con el botón derecho en la solución y seleccione Administrar paquetes NuGet… :Select the Tools > NuGet Package Manager > Manage NuGet Packages for Solution... menu command, or right-click the solution and select Manage NuGet Packages...:

    Administrar paquetes NuGet para la solución

  2. Cuando administra paquetes para la solución, la interfaz de usuario le permite seleccionar los proyectos que se ven afectados por las operaciones:When managing packages for the solution, the UI lets you select the projects that are affected by the operations:

    Selector de proyectos al administrar los paquetes para la solución

Pestaña ConsolidarConsolidate tab

Por lo general, los desarrolladores consideran como una práctica incorrecta usar versiones distintas del mismo paquete NuGet en diferentes proyectos de la misma solución.Developers typically consider it bad practice to use different versions of the same NuGet package across different projects in the same solution. Cuando elige administrar los paquetes de una solución, la interfaz de usuario del Administrador de paquetes proporciona una pestaña Consolidar donde puede ver fácilmente dónde los distintos proyectos de la solución usan paquetes con distintos números de versión:When you choose to manage packages for a solution, the Package Manager UI provides a Consolidate tab on which you can easily see where packages with distinct version numbers are used by different projects in the solution:

Pestaña Consolidar de la interfaz de usuario del Administrador de paquetes

En este ejemplo, el proyecto ClassLibrary1 usa EntityFramework 6.2.0, mientras que ConsoleApp1 usa EntityFramework 6.1.0.In this example, the ClassLibrary1 project is using EntityFramework 6.2.0, whereas ConsoleApp1 is using EntityFramework 6.1.0. Para consolidar las versiones de los paquetes, haga lo siguiente:To consolidate package versions, do the following:

  • Seleccione los proyectos que se van a actualizar en la lista de proyectos.Select the projects to update in the project list.
  • Seleccione la versión que se usará en todos esos proyectos en el control Versión, como EntityFramework 6.2.0.Select the version to use in all those projects in the Version control, such as EntityFramework 6.2.0.
  • Seleccione el botón Instalar.Select the Install button.

El Administrador de paquetes instala la versión de paquete seleccionada en todos los proyectos seleccionados, después de lo cual el paquete deja de aparecer en la pestaña Consolidar.The Package Manager installs the selected package version into all selected projects, after which the package no longer appears on the Consolidate tab.

Orígenes de paquetesPackage sources

Para cambiar el origen desde donde Visual Studio obtiene los paquetes, seleccione uno en el selector de origen:To change the source from which Visual Studio obtains packages, select one from the source selector:

Selector de origen del paquete en la interfaz de usuario del Administrador de paquetes

Para administrar los orígenes de paquetes:To manage package sources:

  1. Seleccione el icono Configuración en la interfaz de usuario del Administrador de paquetes que se describe a continuación o use el comando Herramientas > Opciones y desplácese hasta Administrador de paquetes NuGet:Select the Settings icon in the Package Manager UI outlined below or use the Tools > Options command and scroll to NuGet Package Manager:

    Icono de configuración de la interfaz de usuario del Administrador de paquetes

  2. Seleccione el nodo Orígenes de paquetes:Select the Package Sources node:

    Opciones de Orígenes de paquetes

  3. Para agregar un origen, seleccione + , edite el nombre, escriba la dirección URL o la ruta de acceso en el control Origen y seleccione Actualizar.To add a source, select +, edit the name, enter the URL or path in the Source control, and select Update. El origen ahora aparece en el menú desplegable del selector.The source now appears in the selector drop-down.

  4. Para cambiar un origen de paquete, selecciónelo, realice las modificaciones en los cuadros Nombre y Origen y seleccione Actualizar.To change a package source, select it, make edits in the Name and Source boxes, and select Update.

  5. Para deshabilitar un origen de paquete, desactive la casilla que está a la izquierda del nombre en la lista.To disable a package source, clear the box to the left of the name in the list.

  6. Para quitar un origen de paquete, selecciónelo y, luego, seleccione el botón X.To remove a package source, select it and then select the X button.

  7. El uso de los botones de flecha arriba y flecha abajo no cambia el orden de prioridad de los orígenes de paquetes.Using the up and down arrow buttons does not change the priority order of the package sources. Visual Studio omite el orden de los orígenes de paquetes, usando el paquete del origen que primero responda a las solicitudes.Visual Studio ignores the order of package sources, using the package from whichever source is first to respond to requests. Para más información, consulte Restauración de paquetes.For more information, see Package restore.

Sugerencia

Si un origen de paquete vuelve a aparecer después de eliminarlo, es posible que aparezca en los archivos NuGet.Config en un nivel de equipo o de usuario.If a package source reappears after deleting it, it may be listed in a computer-level or user-level NuGet.Config files. Consulte Configuraciones comunes de NuGet para ver la ubicación de estos archivos y, luego, quite el origen al editar los archivos de manera manual o mediante el comando nuget sources.See Common NuGet configurations for the location of these files, then remove the source by editing the files manually or using the nuget sources command.

Control de opciones del Administrador de paquetesPackage manager Options control

Cuando se selecciona un paquete, la interfaz de usuario del Administrador de paquetes muestra un pequeño control Opciones que se puede expandir debajo del selector de versión (que aquí se muestra tanto contraído como expandido).When a package is selected, the Package Manager UI displays a small, expandable Options control below the version selector (shown here both collapsed and expanded). Tenga en cuenta que, para algunos tipos de proyecto, solo se proporciona la opción Mostrar ventana de vista previa.Note that for some project types, only the Show preview window option is provided.

Opciones del Administrador de paquetes

Estas opciones se explican en las secciones siguientes.The following sections explain these options.

Mostrar ventana de vista previaShow preview window

Cuando se selecciona esta opción, una ventana modal muestra cuáles son las dependencias de un paquete elegido antes de que se instale el paquete:When selected, a modal window displays which the dependencies of a chosen package before the package is installed:

Cuadro de diálogo de vista previa de ejemplo

Opciones de Instalar y actualizarInstall and Update Options

(No disponibles para todos los tipos de proyectos).(Not available for all project types.)

Comportamiento de dependencia: configura cómo NuGet decide qué versiones de los paquetes dependientes se van a instalar:Dependency behavior configures how NuGet decides which versions of dependent packages to install:

  • Omitir dependencias: omite la instalación de cualquier dependencia, lo que habitualmente interrumpe el paquete que se está instalando.Ignore dependencies skips installing any dependencies, which typically breaks the package being installed.
  • Mínima [valor predeterminado]: instala la dependencia con el número de versión mínimo que cumple los requisitos del paquete principal escogido.Lowest [Default] installs the dependency with the minimal version number that meets the requirements of the primary chosen package.
  • Revisión superior: instala la versión con los mismos números de versión principal y secundaria, pero con el número de revisión superior.Highest Patch installs the version with the same major and minor version numbers, but the highest patch number. Por ejemplo, si se especifica la versión 1.2.2, se instalará la versión superior que empieza con 1.2.For example, if version 1.2.2 is specified then the highest version that starts with 1.2 will be installed
  • Secundaria superior: instala la versión con el mismo número de versión principal, pero el número de revisión y de versión secundaria superior.Highest Minor installs the version with the same major version number but the highest minor number and patch number. Si se especifica la versión 1.2.2, se instalará la versión superior que empieza con 1.If version 1.2.2 is specified, then the highest version that starts with 1 will be installed
  • Superior: instala la versión superior disponible del paquete.Highest installs the highest available version of the package.

Acción de conflicto de archivos: especifica cómo NuGet debe administrar los paquetes que ya existen en la máquina local o en el proyecto:File conflict action specifies how NuGet should handle packages that already exist in the project or local machine:

  • Petición: indica a NuGet si debe conservar o sobrescribir los paquetes existentes.Prompt instructs NuGet to ask whether to keep or overwrite existing packages.
  • Omitir todo: indica a NuGet que omita sobrescribir cualquier paquete existente.Ignore All instructs NuGet to skip overwriting any existing packages.
  • Sobrescribir todo: indica a NuGet que sobrescriba cualquier paquete existente.Overwrite All instructs NuGet to overwrite any existing packages.

Opciones de desinstalaciónUninstall Options

(No disponibles para todos los tipos de proyectos).(Not available for all project types.)

Quitar dependencia: cuando se selecciona, esta opción quita todos los paquetes dependientes si no se hace referencia a ellos en alguna otra parte del proyecto.Remove dependencies: when selected, removes any dependent packages if they're not referenced elsewhere in the project.

Forzar la desinstalación incluso si hay dependencias: cuando se selecciona, esta opción desinstala un paquete incluso si se hace referencia a él en el proyecto.Force uninstall even if there are dependencies on it: when selected, uninstalls a package even if it's still being referenced in the project. Por lo general, se usa en combinación con Quitar dependencias para quitar un paquete y todas las dependencias que instaló.This is typically used in combination with Remove dependencies to remove a package and whatever dependencies it installed. Sin embargo, usar esta opción puede generar referencias rotas en el proyecto.Using this option may, however, lead to broken references in the project. En tales casos, es posible que tenga que volver a instalar esos otros paquetes.In such cases, you may need to reinstall those other packages.