En un anterior post hablamos sobre Nuget. El cual es el administrador de paquetes para .NET.
Con Nuget podemos:
- Consumir paquetes de terceros.
- Crear nuestros paquetes.
- Publicar nuestros paquetes.
Nuget está incluido en el .Net Core. Abriremos una consola y teclearemos lo siguiente:
$ mkdir codemonkey $ cd codemonkey $ dotnet new console
Nos ubicaremos en el proyecto creado y listaremos los paquetes:
$ dotnet list package
Mostrará un mensaje indicando que no hay paquetes asociados al proyecto.
Si queremos instalar un paquete podemos hacerlo con Nuget.
El sitio https://www.nuget.org/ tiene un buscador de paquetes. Si queremos, por ejemplo, instalar un conector de BD de MySQL podemos buscarlo. Si lo encuentra, damos clic al enlace y nos mostrará la forma de instalarlo desde dotnet.
Instalando el paquete de MySQL:
$ dotnet add package MySqlConnector --version 2.4.0
Ahora listamos el paquete:
$ dotnet list package
El sitio también provee de ejemplos de cómo usarlo (en algunos paquetes):
// set these values correctly for your database server var builder = new MySqlConnectionStringBuilder { Server = "your-server", UserID = "database-user", Password = "P@ssw0rd!", Database = "database-name", }; // open a connection asynchronously using var connection = new MySqlConnection(builder.ConnectionString); await connection.OpenAsync(); // create a DB command and set the SQL statement with parameters using var command = connection.CreateCommand(); command.CommandText = @"SELECT * FROM orders WHERE order_id = @OrderId;"; command.Parameters.AddWithValue("@OrderId", orderId); // execute the command and read the results using var reader = await command.ExecuteReaderAsync(); while (reader.Read()) { var id = reader.GetInt32("order_id"); var date = reader.GetDateTime("order_date"); // ... }
Para ASP .Net tendríamos:
var builder = WebApplication.CreateBuilder(args); // use AddMySqlDataSource to configure MySqlConnector builder.Services.AddMySqlDataSource(builder.Configuration.GetConnectionString("Default")); var app = builder.Build(); // use dependency injection to get a MySqlConnection in minimal APIs or in controllers app.MapGet("/", async (MySqlConnection connection) => { // open and use the connection here await connection.OpenAsync(); await using var command = connection.CreateCommand(); command.CommandText = "SELECT name FROM users LIMIT 1"; return "Hello World: " + await command.ExecuteScalarAsync(); }); app.Run();
Nuget nos permite encontrar, agregar y compartir paquetes para nuestras aplicaciones. Como desarrolladores sabemos que muchas veces un paquete puede ahorrarnos horas o días (e incluso más tiempo) de desarrollo.
Ejemplo. Queremos hacer una sencilla gráfica, pero nos llevaría bastante tiempo crear un paquete que nos permita hacerlo. La solución sería buscarlo e instalarlo.
La opción ideal sería ScottPlot, ya que es una biblioteca de gráficos similar a Matplotlib. La cual ofrece un equilibrio ideal entre facilidad de uso, rendimiento, integración nativa y documentación extensa. Eso es lo que buscamos.
La instalaremos:
$ dotnet add package ScottPlot --version 5.0.55
Si la instalación fue correcta, saldrá un mensaje indicando que ya lo tenemos integrado a nuestro proyecto. Usaremos el código de ejemplo:
Program.cs
double[] dataX = { 1, 2, 3, 4, 5 }; double[] dataY = { 1, 4, 9, 16, 25 }; ScottPlot.Plot myPlot = new(); myPlot.Add.Scatter(dataX, dataY); myPlot.SavePng("quickstart.png", 400, 300);
Código completo:
Program.cs
using System; using ScottPlot; class Program { public static void Main(string[] args) { Test(); } private static void Test() { double[] dataX = { 1, 2, 3, 4, 5 }; double[] dataY = { 1, 4, 9, 16, 25 }; ScottPlot.Plot myPlot = new(); myPlot.Add.Scatter(dataX, dataY); myPlot.SavePng("quickstart.png", 400, 300); Console.WriteLine("Gráfico creado."); } }
Compilamos y ejecutamos:
$ dotnet build $ dotnet run
Si ejecutó correctamente la aplicación, entonces se creará un gráfico llamado ``quickstart.png``.
En conclusión, si eres desarrollador .NET, entonces con Nuget encontrarás los paquetes necesarios para tus aplicaciones.
Enlaces:
https://www.nuget.org/https://learn.microsoft.com/es-es/nuget/what-is-nuget
https://codemonkeyjunior.blogspot.com/2019/06/instalar-paquetes-nuget-con-dotnet.html
No hay comentarios:
Publicar un comentario