Instalación y administración de paquetes en Visual Studio con el Administrador de paquetes NuGet

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. Si necesita información sobre la experiencia en Visual Studio para Mac, consulte Incluir un paquete NuGet en el proyecto. La interfaz de usuario del Administrador de paquetes no está incluida en 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. Si no puede usar el instalador de extensiones en Visual Studio, descargue la extensión directamente de 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. Para instalarlo individualmente, seleccione la opción Componentes individuales > Herramientas de código > Administrador de paquetes NuGet en el instalador de Visual Studio.

Búsqueda e instalación de un paquete

  1. En el Explorador de soluciones, haga clic con el botón derecho en Referencias o en un proyecto y seleccione Administrar paquetes NuGet….

    Manage NuGet Packages menu option

  2. La pestaña Examinar muestra los paquetes del origen seleccionado (consulte los orígenes de paquetes) ordenados por popularidad. Busque un paquete específico en el cuadro de búsqueda que se encuentra en la esquina superior izquierda. 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.

    Manage NuGet Packages Dialog Browse tab

  3. Seleccione la versión deseada en el menú desplegable y seleccione Instalar. Visual Studio instala el paquete y sus dependencias en el proyecto. Es posible que se le pida aceptar los términos de licencia. 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.

    References in Solution Explorer

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.

Nota

NuGet dispone de dos formatos en los que un proyecto puede usar paquetes: PackageReference y packages.config. El valor predeterminado se puede establecer en la ventana Opciones de Visual Studio.

Desinstala un paquete.

  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….

  2. Seleccione la pestaña Instalado.

  3. Seleccione el paquete que se va a desinstalar (use la búsqueda para filtrar la lista si es necesario) y seleccione Desinstalar.

    Uninstalling a package

  4. Observe que los controles Incluir versión preliminar y Origen del paquete no tienen efecto al desinstalar los paquetes.

Actualización de un paquete

  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 los proyectos del sitio web, haga clic con el botón derecho en la carpeta Bin).

  2. Seleccione la pestaña Actualizaciones para ver los paquetes que tienen actualizaciones disponibles de los orígenes de paquetes seleccionados. Seleccione Incluir versión preliminar para incluir los paquetes de versión preliminar en la lista de actualizaciones.

  3. Seleccione el paquete que se va a actualizar, la versión deseada en el menú desplegable de la derecha y, luego, seleccione Actualizar.

    Updating a package

  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). Este mensaje indica que el paquete forma parte de un marco o SDK más grande y que no se debe actualizar por separado. (Estos paquetes se marcan 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. Necesita actualizar la instalación de .NET Core para obtener versiones nuevas del runtime de ASP.NET Core y .NET Core. Consulte este documento para ver más detalles sobre los metapaquetes y el control de versiones de .NET Core. Esto se aplica a los siguientes paquetes de uso común:

    • Microsoft.AspNetCore.All
    • Microsoft.AspNetCore.App
    • Microsoft.NETCore.App
    • NETStandard.Library

    Example package marked as Implicitly references or AutoReferenced

  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.

  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.

Administración de paquetes para la solución

Administrar los paquetes de una solución es un medio cómodo para trabajar con varios proyectos a la vez.

  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…:

    Manage NuGet packages for the solution

  2. Cuando administra paquetes para la solución, la interfaz de usuario le permite seleccionar los proyectos que se ven afectados por las operaciones:

    Project selector when managing packages for the solution

Pestaña Consolidar

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. 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:

Package Manager UI Consolidate tab

En este ejemplo, el proyecto ClassLibrary1 usa EntityFramework 6.2.0, mientras que ConsoleApp1 usa EntityFramework 6.1.0. Para consolidar las versiones de los paquetes, haga lo siguiente:

  • Seleccione los proyectos que se van a actualizar en la lista de proyectos.
  • Seleccione la versión que se usará en todos esos proyectos en el control Versión, como EntityFramework 6.2.0.
  • Seleccione el botón Instalar.

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.

Orígenes de paquetes

Para cambiar el origen desde donde Visual Studio obtiene los paquetes, seleccione uno en el selector de origen:

Package source selector in the package manager UI

Para administrar los orígenes de paquetes:

  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:

    Package manager UI settings icon

  2. Seleccione el nodo Orígenes de paquetes:

    Package Sources options

  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. El origen ahora aparece en el menú desplegable del selector.

  4. Para cambiar un origen de paquete, selecciónelo, realice las modificaciones en los cuadros Nombre y Origen y seleccione Actualizar.

  5. Para deshabilitar un origen de paquete, desactive la casilla que está a la izquierda del nombre en la lista.

  6. Para quitar un origen de paquete, selecciónelo y, luego, seleccione el botón X.

  7. El uso de los botones de flecha arriba y flecha abajo no cambia el orden de prioridad de los orígenes de paquetes. Visual Studio omite el orden de los orígenes de paquetes, usando el paquete del origen que primero responda a las solicitudes. Para más información, consulte Restauración de paquetes.

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

Control de opciones del Administrador de paquetes

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). Tenga en cuenta que, para algunos tipos de proyecto, solo se proporciona la opción Mostrar ventana de vista previa.

Package manager options

Estas opciones se explican en las secciones siguientes.

Mostrar ventana de vista previa

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:

Example Preview Dialog

Opciones de Instalar y actualizar

(No disponibles para todos los tipos de proyectos).

Comportamiento de dependencia: configura cómo NuGet decide qué versiones de los paquetes dependientes se van a instalar:

  • Omitir dependencias: omite la instalación de cualquier dependencia, lo que habitualmente interrumpe el paquete que se está instalando.
  • Mínima [valor predeterminado]: instala la dependencia con el número de versión mínimo que cumple los requisitos del paquete principal escogido.
  • 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. Por ejemplo, si se especifica la versión 1.2.2, se instalará la versión superior que empieza con 1.2.
  • 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. Si se especifica la versión 1.2.2, se instalará la versión superior que empieza con 1.
  • Superior: instala la versión superior disponible del paquete.

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:

  • Petición: indica a NuGet si debe conservar o sobrescribir los paquetes existentes.
  • Omitir todo: indica a NuGet que omita sobrescribir cualquier paquete existente.
  • Sobrescribir todo: indica a NuGet que sobrescriba cualquier paquete existente.

Opciones de desinstalación

(No disponibles para todos los tipos de proyectos).

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.

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. Por lo general, se usa en combinación con Quitar dependencias para quitar un paquete y todas las dependencias que instaló. Sin embargo, usar esta opción puede generar referencias rotas en el proyecto. En tales casos, es posible que tenga que volver a instalar esos otros paquetes.