Hoy os quiero hablar sobre NuGet, una colección de herramientas de código abierto cuyo fin principal es el de agregar, eliminar y actualizar librerías de una manera automatizada en un proyecto de trabajo de .NET dentro de Visual Studio (en cualquiera de sus versiones).
¿Cómo funciona?
Cuando el desarrollador decide agregar una librería con NuGet, éste copia los archivos a su solución, realizando automáticamente los cambios que sean necesarios en el proyecto, como la adición de referencias y las modificaciones pertinentes en los archivos de configuración (app.config o web.config).
Por otro lado, cuando el desarrollador decide eliminar/desinstalar una biblioteca o paquete, NuGet elimina los archivos y revierte los cambios que hizo en el proyecto.
Oye, ¿pero esto es difícil de instalar y usar?
En absoluto. Vamos a mostrar como instalar NuGet en un Visual Studio 2012 (para el resto de versiones se realiza de manera idéntica):
1- En el menú de VS vamos a “Tools Extensions and Updates”. Dentro de la sección “Online Visual Studio Gallery”, buscamos “NuGet Package Manager”
2- Siempre es recomendable pasar por la sección de “Updates” para ver si disponemos de una nueva versión de NuGet publicada. Como podéis ver, en nuestro caso tenemos una versión instalada antigua.
3- Ya instalado en nuestro Visual Studio, vamos a mostrar como configurar el repositorio NuGet. Para ello, creamos un proyecto web, y con el proyecto abierto, hacemos click derecho sobre éste, seleccionando “Manage Nuget Packages”:
4- Pinchamos en la opción “Settings”
5- En nuestro caso marcaremos un repositorio público; el cual ya te ofrece www.nuget.org. Indicar, que lo más potente del uso de la herramienta se basa en generar nosotros mismos nuestro propio repositorio NuGet; y en el cual poder agregar nuestros propios paquetes (packages). Esto lo veremos en una siguiente publicación.
6- Al aceptar, veremos que ya tenemos un repositorio NuGet para ser consumido. Instalemos por ejemplo el paquete de JQuery.
7- Podremos comprobar que en cuanto el paquete es instalado, automáticamente en nuestro proyecto ya disponemos de la última versión estable de Jquery, pudiendo además ver cómo se han creado automáticamente los ficheros de configuración “web.config” y “app.config” para que Jquery pueda ser usado nuestro proyecto correctamente.
Resumiento, NuGet nos proporciona una manera rápida, fácil y ágil de agregar características a una aplicación existente y, en el caso de trabajar con un repositorio propio, NuGet respeta siempre que estas características estén ya integradas en nuestro control de código fuente.
En caso de abordar un nuevo proyecto, es altamente recomendado contar con NuGet. En arquitecturas orientadas a dominio es un elemento INDISPENSABLE.
Próximamente, trataremos cómo crear un repositorio propio y cómo puede ser consumido en una aplicación de mayor escala.