Usando NuGet – Crear paquetes personalizados

Usando NuGet serie:

Creación de paquetes

Para crear un paquete podemos realizarlo de 2 formas, usando la linea de comando o un utilitario gráfico como NuGet Package Explorer. Pero antes de comenzar es importante comentar acerca de los 2 archivos principales en el proceso de creación de paquetes:

  • .nuspec: Este archivo es una estructura XML que contiene datos importantes del paquete como el nombre del paquete, versión, autor, descripción, entre otros
  • .nupkg: Es el paquete resultante y a colocar en el repositorio de NuGet a utilizar para que esté disponible

Podemos crear los paquetes a partir de un ensamblado (assembly) o un proyecto. En lo personal, recomiendo construirlo a partir de un proyecto ya que en el caso de que nuestro proyecto tenga componentes instalados, éstos serán agregados como dependencias al momento de crear el paquete de NuGet.

Usando la linea de comando

Para crear paquetes desde la línea de comando debemos descargar el NuGet.exe Command Line, el cual es el utilitario que nos permitirá crear los paquetes.

Descargamos el NuGet.exe Command Line y lo guardamos en un directorio y esta ruta la debemos agregar a la variable de ambiente de Windows, esto nos permitirá llamar el ejecutable desde cualquier directorio en la consola.

En el caso de generar el paquete a partir de un ensamblado (assembly), ejecutamos los siguientes comandos:

nuget spec MiEnsamblado.dll #Genera el archivo de especificación (.nuspec)
nuget pack MiEnsamblado.nuspec #Genera el paquete a usar (.nupkg)

En caso de generar el paquete a partir de un proyecto, navegamos con la consola hasta el directorio del proyecto, donde se encuentra el archivo .csproj/.vbproj . En este punto ejecutamos los siguientes comandos para crear el archivo de especificaciones y el paquete:

nuget spec #Genera el archivo de especificación (.nuspec)
nuget pack MiProyecto.csproj #Genera el paquete a usar (.nupkg)

Podemos editar el archivo de especificaciones con la información que necesitemos y luego ejecutar el comando para que genere el paquete. Por defecto NuGet usará la configuración por defecto de compilación de la solución, por lo que si necesitamos crear el paquete de otra configuración de compilación, podemos usar el siguiente comando:

nuget pack MiProyecto.csproj -Prop Configuration=Release

Para más información de comandos para la creación de paquetes, se puede consultar el Command Line Reference y Creating and Publishing a Package.

Utilizando un utilitario gráfico (Nuget Package Explorer)

El Nuget Package Explorer es una herramienta desktop que podemos utilizar para crear nuestros paquetes, al presentarse en una interfaz gráfica nos da una vita más rápida de la estructura que va a llevar nuestro paquete así como las dependencias del mismo.

La interfaz que nos muestra esta herramienta se divide en 2, la del lado izquierdo donde ingresaremos los datos iniciales del paquete a crear (título, versión, autor, descripción, dependencias, entre otros) y el lado derecho donde podemos ir armando una estructura de directorio que será la forma en cómo se desplegará el contenido de nuestro paquete en el proyecto donde se incluya.

Una vez suministrada toda la información y creada la estructura, podemos guardar la información, creando el archivo de especificaciones .nuspec (que de igual forma podemos editarlo usando cualquier editor de texto). al momento de estar completo nuestro paquete, podemos darle a la opción exportar en el menú File -> Export para generar el .nupkg o Publish en caso de que quererlo subir al repositorio oficial de NuGet, para lo cual previamente debemos estar registrados y contar con un API key de seguridad (Puedes conseguir mayor información del registro AQUÍ)

Para más información acerca de esta herramienta gráfica para la creación de paquetes, puedes consultar la página del proyecto en http://npe.codeplex.com/

Nos leemos.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s