Crear un Nugget y implementarlo en MVC
Una herramienta esencial para cualquier plataforma de desarrollo moderno, es un mecanismo a través del cual los desarrolladores pueden crear, compartir y consumir código útil. A menudo, este código se integra en «paquetes» que contienen código compilado (como archivos DLL) y otro contenido necesario en los proyectos que utilizan estos paquetes.
En .Net (incluido .NET Core), el mecanismo compatible con Microsoft para compartir código es NuGet, que define cómo se crean, hospedan y consumen en .NET, y ofrece las herramientas para cada uno de esoso roles
Desde un punto de vista sencillo, 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. Los programadores con código para compartir crean paquetes y los publican en un host público o privado. Los consumidores de paquetes obtienen esos paquetes de los hosts adecuados, los agregan a sus proyectos y, después, llaman a la funcionalidad de un paquete en el código del proyecto. Después, el propio NuGet controla todos los detalles intermedios.
¿Qué más hace NuGet?
Hasta ahora ha aprendido las siguientes características de NuGet:
- NuGet ofrece el repositorio central nuget.org con compatibilidad de hospedaje privado.
- NuGet proporciona a los desarrolladores las herramientas que necesitan para crear, publicar y consumir paquetes.
- Y lo más importante, NuGet mantiene una lista de referencias de los paquetes que se usan en un proyecto y permite restaurar y actualizar los paquetes de esa lista.
Pasos para crear un NuGet
Debemos descargar la herramienta de generación de nuget:
https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
Es línea de comandos para generar los nuget. Vamos a poner el programa dentro
Del Path de Windows.
Lo copiamos dentro de C:\Windows\System32
Para poder publicar Nuget necesitamos una cuenta Microsoft dentro de nuget.org
Ahora crearemos un proyecto nuevo en el Visual Studio, de tipo Class Library Net Standard.
Una vez creado el proyecto, lo que haremos será crear un clase llamada Persona. Con sus propiedades, idpersona, nombre, apellido, edad y sexo.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PostNuget
{
class Persona
{
public int IdPersona { get; set; }
public string Nombre { get; set; }
public string Apellido { get; set; }
public int Edad { get; set; }
public string Sexo { get; set; }
}
}
Creamos otra clase llamada comunidad, en la cual crearemos dos métodos uno que devuelve un conjunto de personas y otro método que devuelve una persona por su id.
Método que devuelve una persona.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace PostNuget
{
class Comunidad
{
public List<Persona> GetPersonas()
{
List<Persona> personas = new List<Persona>();
Persona p = new Persona
{
IdPersona = 1,
Nombre = "Juan",
Apellido = "Cardenas",
Edad = 14,
Sexo = "Hombre"
};
personas.Add(p);
Persona p1 = new Persona
{
IdPersona = 1,
Nombre = "Carlos",
Apellido = "Jimenez",
Edad = 28,
Sexo = "Hombre"
};
personas.Add(p1);
Persona p2 = new Persona
{
IdPersona = 1,
Nombre = "Pedro",
Apellido = "Ramos",
Edad = 17,
Sexo = "Hombre"
};
personas.Add(p2);
Persona p3 = new Persona
{
IdPersona = 1,
Nombre = "Marta",
Apellido = "Valencia",
Edad = 10,
Sexo = "Mujer"
};
personas.Add(p3);
Persona p4 = new Persona
{
IdPersona = 1,
Nombre = "Sonia",
Apellido = "León",
Edad = 45,
Sexo = "Mujer"
};
personas.Add(p4);
Persona p5 = new Persona
{
IdPersona = 1,
Nombre = "Yesica",
Apellido = "Cardenas",
Edad = 18,
Sexo = "Mujer"
};
personas.Add(p5);
return personas;
}
public Persona FindPersona(int id)
{
return this.GetPersonas().FirstOrDefault(z => z.IdPersona == id);
}
}
}
Una vez creado las clases vamos a generar el paquete. Sobre el proyecto damos al clic derecho y en propiedades, pulsamos en package.
Nos debe salir está pantalla y rellenamos los campos a nuestro criterio.
Hay que poner el proyecto en Realease lo ejecutamos una vez y nos crea un paquete.
y nos genera un paquete.
Los nuget van asociados a una Api Key, hay que ir a nuget.org y crear una api key.
Y creamos nuestra api key .
Una vez creada, copiamos la clave generada.
Debemos utilizar un comando de nuget.exe
Entramos, con CMDER, dentro de la ruta donde tengamos el paquete nupkg
Escribimos la siguiente instrucción
nuget push archivo.nupkg APIKEY -source https://api.nuget.org/v3/index.json
nuget push PostNugetPersona2022.2.0.0.nupkg oy2h3dvlxjrwebrepp7aj47ftbc2gz2u3kd53kgzg6ze3e -source https://api.nuget.org/v3/index.json
Insertamos el comando en CMDER una vez hayamos accedido al directorio donde tenemos el nuget.
Ya tendríamos nuestro paquete publicado.
Ya en nuestro Proyecto MVC, podremos agregar el nuget PostNugetPersona2022.
Autor: Steven Alexander Cadena Giler
Curso: Desarrollo Web Full Stack, MultiCloud y MultiPlataforma
Centro: Tajamar
Año académico: 2021-2022
GitHub: https://github.com/Steven-Cadena/PostNuget.git