NuPack es una herramienta que nos permite descubrir, instalar, resolver dependencias e incluso trabajar directamente con librerías Open Source para .NET. Su funcionamiento es muy sencillo, tanto para empaquetar una librería y que esté disponible para el resto de desarrolladores como para consumir librerías ya expuestas.

Supongamos que estamos trabajando en un proyecto, y que en determinado punto, decidimos que queremos trabajar con NHibernate, moq, NUnit, o cualquier otra librería open source de .NET. A día de hoy, tenemos que dejar a un lado Visual Studio, ir a un buscador a localizar la página del proyecto, seleccionar cual es la descarga adecuada para nuestro entorno, descargarla y finalmente integrarla en el proyecto.

Y esto si no hay dependencias. Porque si hay dependencias tendremos que ir una por una, descargando las librerías necesarias e instalándolas en orden para que todo funcione correctamente.

El objetivo de NuPack es simplificar estos escenarios para integrar librerías open source en los proyectos más limpia y rápidamente.

Un ejemplo – habilitando ELMAH

Partimos de un proyecto ASP.NET donde queremos incorporar la conocida librería ELMAH para registrar y reportar errores. En un entorno donde ya hemos instalado NuPack, Visual Studio dispone de una nueva ventana, la “Package Manager Console”. En el caso concreto de Elmah, tendríamos que escribir en la ventana

Add-Package elmah

Sencillo ¿no?

image

Al escribir Add-Package Elmah, nupack se conecta a internet para consultar en un feed dónde localizar la librería, una vez localizada, la descarga y la instala. En el caso de elmah, además de añadir las referencias necesarias y copiar el archivo, edita el web.config del proyecto

image

 

¿Cómo consultar librerías disponibles?

En el ejemplo anterior hemos presupuesto que el desarrollador sabe que elmah está disponible y cuál es el nombre del paquete. No sería extraño que esto pasase, todos sabemos en mayor o menor medida qué liberías necesitamos y cómo se llaman, pero en el caso de querer consultar un nombre, o simplemente ver qué librerías están disponibles, también es una tarea sencilla.

Tendríamos que ir a la nueva ventana, el “Package Manager Console” e introducir

List-Packages

De esta forma veríamos todos los disponibles actualmente en el feed de NuPack

image

 

Más información de NuPack…

Página oficial de descarga – Descarga, tutoriales…

Tutorial de Scott Hanselmen (Inglés). Es muy recomendable, Entre otras cosas, enseña cómo se resuelven las dependencias, cómo extender los paquetes para que incluyan acciones desde la consola.

Post the Phil Haack (Inglés)

Post de David Ebbo (Inglés)