in Blog, Desarrollo

¿A qué te suena NuGet?

Hace no mucho que he preguntado esto a diferente gente y os sorprendería la gente técnica que dice: “a pollo” (medio en broma, medio en serio). En parte es entendible, si has visitado alguna vez esos centro de alta cocina de comida rápida es posible que hayas pedido una ración. Los nuggets de pollo, son tiras de pollo rebozadas y fritas que según qué salsas las acompañen son siempre ‘buena’ elección.

Nugget <> NuGet

De lo que os escribo hoy es de los paquetes NuGet. Según Microsoft: un paquete NuGet es un archivo ZIP con la extensión .nupkg que contiene código compilado (archivos DLL), otros archivos relacionados con ese código y un manifiesto descriptivo que incluye información como el número de versión del paquete.

Todo esto de la teoría está bien, pero la mejor forma de aprender, es hacer algo práctico. Si pilotas mucho sobre el tema, seguramente este post no sea para ti, pero si estás empezando con los paquetes NuGet, quédate. Haremos uno, lo publicaremos localmente, y lo usaremos desde otro proyecto. Además todo el proceso lo haremos desde un Macbook (no hay manera de encontrar nada en Visual Studio si estás acostumbrado a Visual Studio de Windows) ¿Te quedas?

Si estás acostumbrado a VS de Windows, en el de Mac igual no encuentras muchas cosas.

Antes de empezar con la parte práctica, un disclamer: No soy un experto en C# ni en tecnologías Microsoft, si ves que algo de lo que hago no está bien, escribe en los comentarios y así aprendemos todos.

Vale, pues ya estamos todos, lo primero que vamos hacer es abrir Visual Studio y crear un nuevo proyecto del tipo Biblioteca de .Net Standard.

Rellenamos nombre, ubicación y otros detalles…y pulsamos en ‘Crear’.

Se nos generará un proyecto en blanco, con una clase y poco más. Lo primero que haremos será editar nuestra clase, modificando su nombre y añadiendo dos sencillas funciones.

Las dos funciones de nuestra clase, recibirán dos números como parámetros y nos devolverán la suma de ambos o su resta. ¡Perfecto! ya tenemos todo el código de nuestra librería. Ahora necesitamos hacer unas modificaciones en las opciones del proyecto.

Añadiremos el ID, versión y en el apartado de ‘Compilación’, marcaremos el tick de ‘Cree un paquete NuGet al compilar el proyecto’. También podemos crear el paquete NuGet pulsando botón derecho encima del proyecto, podremos hacer clic en ‘Crear paquete NuGet’. Si todo ha ido bien, dentro de la carpeta de nuestro proyecto carpeta del proyecto/bin/Debug debería estar nuestro paquete NuGet creado con una extensión .nupkg .

Proyecto/bin/Debug es la ubicación por defecto donde se generará tu paquete NuGet

La idea del este experimento es crear un NuGet de operaciones (suma, resta, división….) y consumirlo desde otro proyecto. Ya sé que eso se puede hacer directamente desde cualquier proyecto, pero creo que es un ejemplo sencillo desde el que se puede entender la lógica de uso de paquetes NuGet, y de aquí al cielo.

Tenemos el proyecto, el código con las funciones, la compilación en verde y el paquete NuGet generado en la carpeta de nuestro proyecto, lo único que nos falta es publicarlo para que otros proyectos puedan usarlo. En este ejemplo lo vamos a publicar localmente, es decir, publicarlo en una carpeta del propio equipo y hacer referencia a él desde otro proyecto. Lógicamente, de esta forma solo se puede hacer referencia en proyectos locales, normalmente se suelen subir a repositorios de paquetes tipo NuGet, MyGet y otros muchos con diferentes tarifas y visibilidad.

Publicar localmente y en un servidor de paquetes es similar.

Publicar localmente o en un servidor en la red es similar, veamos cómo hacerlo en local para nuestro ejemplo. Necesitamos tener instalado el NuGetCli en nuestro equipo, para comprobarlo basta con escribir en la consola nuget.

En caso de no tenerlo instalado, podéis descargarlo desde la web oficial. En mi caso no recuerdo haberlo instalado, seguramente se instaló automática al instalar Visual Studio. Para terminar solo necesitamos lanzar el siguiente comando en nuestra terminal:

nuget add [nombre del paquete nuget] -source [carpeta]

¡Olrait! ya tenemos nuestro paquete NuGet publicado (localmente) y listo para ser incluido en cualquier proyecto para aprovechar las operaciones. En el siguiente post, veremos cómo incluir este paquete a un proyecto nuevo y como acceder a las funciones que ofrece, además añadiremos alguna nueva, actualizaremos y veremos el ciclo normal de uso de paquetes NuGet propios en proyectos de desarrollo.

Si te ha parecido interesante, comparte, si tienes algo que decirme escríbeme un comentario y te contestaré lo antes posible.

Un saludo y nos leemos en el siguiente post.

Comments are closed.