Posted by: carloslone | November 23, 2010

Introducción Rápida a NuGet (originalmente NuPack)

 

Hace un poco mas de 1 mes, Microsoft anuncio la liberación de un manejador de paquetes para proyectos Open Source para .NET. Se trata del proyecto NuGet, el cual se integra totalmente a Visual Studio y esta en su primer preview.

NuPack es un proyecto miembro de Outercurve Foundation (Originalmente The CodePlex Foundation) que es la iniciativa de Microsoft para proyectos Open Source (FOSS).  El 5to proyecto aceptado por Outercurve, es precisamente NuPack, del cual a continuación presentaremos una breve introducción.

Que es NuGet?

Para responderlo brevemente: NuPak es un administrador de paquetes que les hará su vida más simple al momento de buscar, instalar y utilizar una librería de .NET en su proyecto. Lo interesante es que funciona con cualquier tipo de proyecto de .NET dentro de Visual Studio.

Para que utilizar NuGet?

Si eres el moderador de un proyecto Oper Source como  (NHibernate, Ninject, Elmah, etc), NuGet te permitirá empaquetar todas las librerías y archivos necesarios por tu herramienta y los publicara en un catálogo que podrá ser utilizado por desarrolladores de aplicaciones en .NET.

Como Funciona NuGet?

NuGet se encarga de administrar la administración e instalación de librerías de .NET en tu proyecto de trabajo, maneja la dependencia entre librerías, así mismo permite actualizar o remover las librerias de tu proyecto.

Es capaz de actualizar la información de un archivo web.config, en caso de que la libreria o paquete a utilizar requiera de configuraciones. Tambien tiene soporte a utilizar scripts de PowerShell para hacer operaciones automáticas.

En que versiones de Visual Studio Funciona?

Funciona con cualquier version de Visual Studio 2010 (incluyendo la express Smile )

Ejemplo de uso de NuGet

Imaginemonos un escenario típico de una aplicación ASP.NET en donde cada vez que hay un error no controlado no queremos tener la tipica “Yellow Screen of Death”. Hace algún tiempo publiqué un screencast sobre como configurar una herramienta para administrar las excepciones no contraladas llamada ELMAH. En el mismo explicaba todos los pasos necesarios para poder configurar y utlizar dicha herramienta, este precisamente es un buen escenario donde podremos valorar la utilidad de NuGet. En vez de estar buscando donde descargar ELMAH, desempaquetarlo, copiarlo a nuestro proyecto y configurarlo, NuGet lo hace por nosotros.

Veamos a continuación cómo hacerlo:

Habiendo instalado previamente la herramienta NuGet, para configurar ELMAH en su proyecto deberan hacer lo siguiente:

Abrir la consola de NuGet y teclear el comando “install-Package elmah”:

Instalacion de Elma con NuGet

Y LISTO!!!! …….

Si no lo quieren hacer manualmente escribiendo en la consola, pueden hacer click derecho sobre su proyecto y seleccionar la opción “Add Library Package Reference”, esto les habilitará una nueva ventana donde podrán buscar la herramienta a instalar:

NuGet Ventana para agregar herramienta

Asi de simple?, si así de simple, esto es lo hermoso de esta herramienta.

Tras bambalinas, lo que hizo NuGet fue descargar todas las librerías y dependencias necesarias para utilizar la herramienta ELMAH en nuestro proyecto, asi mismo realizo las configuraciones básicas en nuestro archivo de configuración web.config:

ElMAH configurado en el Web.config

Si ahora ejecutamos nuestro proyecto y generamos una excepción no controlada, ELMAH se encargará de loguearla para que podamos ver el detalle de todos los errores que han ocurrido en nuestra aplicación.

Bien espero haberles aclarado un poco el panorama sobre el uso de esta herramienta, la verdad este fue un breve y simple repaso sobre el uso y funcionalidad de NuGet

Mayor información en:

Sitio del proyecto: http://nuget.codeplex.com

Blog de Phil Haack: http://haacked.com/archive/2010/10/06/introducing-nupack-package-manager.aspx

Saludos,

Carlos A. Lone

sigueme en twitter: @carloslonegt


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Categories

%d bloggers like this: