NuGet. Repositorio local de paquetes

Desde hace ya algunas versiones de Visual Studio, tenemos una herramienta disponible, llamada NuGet, que nos permite administrar los paquetes de librearías de .NET, asociados a nuestro proyecto o solución de código.

Desde la consola de NuGet podemos buscar e instalar las librearías necesarias para el desarrollo de nuestra solución. Estas librearías pasan por agregar referencias a ensamblados, añadir ficheros JavaScript, plantillas de proyectos, y un largo y numeroso mundo de posibilidades. Estas librerías se obtienen, por defecto, del repositorio oficial nuget.org que mantiene la fundación Outercurve patrocinada por Microsoft, entre otras compañías que colaboran con las galerías de código abierto que gestionan.

Pero no nos quedemos sólo con este repositorio y aprovechemos el potencial que nos ofrece para publicar en un repositorio local las librearías que usamos en nuestros desarrollos. Si, esas librearías de acceso a datos, de gestión del Blob Storage de Azure o de consulta de SharePoint. ¿Por qué no las empaquetamos y las ponemos a disposición de todos los proyectos? De una forma simple, podríamos gestionar versiones, controlar requisitos, configuraciones, etc.

Este repositorio de paquetes NuGet puede ser una carpeta local o de red o un servidor de NuGet, como si del repositorio oficial se tratara. Por ejemplo, una opción muy válida sería tener una carpeta en TFS donde se publican los paquetes, con lo que cada desarrollador podría tenerla sincronizada y configurar el repositorio como carpeta local.

 

Para crear un paquete podemos utilizar la aplicación de NuGet.exe o un Explorador de Paquetes, con lo que nos podríamos plantear incluir en nuestro servidor de Builds la generación del paquete NuGet correspondiente a la versión actual de nuestra librearía, con un comando tan sencillo como:

nuget pack MyProject.csproj Prop Configuration=Release

Este comando, crea un paquete NuGet con los ensamblados y sus dependencias del proyect MyProject.csproj, pero deberíamos de pensar en más y en un paquete podemos incluir lo siguiente:

Al final, vamos completando nuestro repositorio local con las librearías más empleadas y manteniendo un control de versiones de la misma

 

Aprovechemos todas las ventajas que nos ofrece NuGet para gestionar nuestras librearías y las librearías de terceros. Con esto, cuando corrijamos un bug, tendremos una notificación de actualización, como las obtenemos del repositorio oficial, y mejoraremos nuestros procesos de desarrollo.

 

Saludos a todos…

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *