¿Cómo configurar paquetes de Microsoft para una aplicación estable?
Comenzar a trabajar con paquetes en una aplicación puede ser un desafío si no estamos seguros de cuáles usar y cómo configurarlos adecuadamente. En este caso, vamos a explorar la instalación y configuración de paquetes de Microsoft, centrándonos en la estabilidad y las prácticas recomendadas para asegurarnos de que nuestro proyecto funcione sin problemas.
¿Qué paquetes debemos instalar?
Cuando trabajamos con configuraciones en aplicaciones .NET, especialmente si usamos archivos JSON para la configuración, es crucial contar con los paquetes correctos. Aquí destacamos los que son útiles:
Microsoft.Extensions.Configuration
Microsoft.Extensions.Configuration.Json
Debemos tener cuidado al instalar estos paquetes, asegurándonos de elegir siempre las versiones estables y no las previas. Esto es particularmente relevante porque las versiones previas podrían introducir problemas difíciles de resolver en entornos productivos.
¿Cómo verificamos la estabilidad de un paquete?
Para verificar la estabilidad de un paquete:
Consulta el historial de versiones: Busca las que no aparezcan como "previas" (pre-release).
Revisa las descargas y la fecha: Las versiones estables suelen tener una mayor cantidad de descargas y pueden haberse publicado hace más tiempo. En el ejemplo, la versión estable identificada es la 2.2.0, que tiene alrededor de dos millones de descargas y no aparece como previa.
¿Qué hacer después de instalar los paquetes?
Una vez instalados los paquetes, es una buena práctica construir el proyecto, incluso si aún no has escrito código. Esto ayuda a verificar que todas las referencias se han agregado correctamente y que no hay problemas con las dependencias.
¿Cómo escribir la configuración del programa?
¿Cómo integrar las extensiones de Microsoft?
Con los paquetes correctamente instalados, el siguiente paso es integrar las extensiones de configuración en tu programa:
Estas líneas permiten al programa utilizar la funcionalidad de configuración que hemos añadido.
¿Cómo establecer propiedades de configuración?
Define la variable de configuración: Necesitamos una variable para manejar las configuraciones. La declaramos de la siguiente manera:
var configurationBuilder =newConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json",optional:true,reloadOnChange:true);
Estas líneas configuran el proceso utilizado para cargar y acceder a configuraciones almacenadas en un archivo JSON, facilitando cambios futuros que el programa pueda requerir.
¿Cómo manejar errores comunes?
Los errores suelen surgir cuando las configuraciones no están correctamente especificadas o cuando faltan dependencias. Visual Studio ilumina estas situaciones destacando la línea donde ocurre el problema. Un caso común es olvidar importar un espacio de nombres necesario, que se resuelve agregando la referencia adecuada en el archivo de inicio de tu aplicación.
¿Cuáles son las mejores prácticas al trabajar con configuración?
Usa versiones estables: Siempre opta por las versiones estables de los paquetes para evitar inconsistencias en producción.
Prueba tu configuración: Realiza una construcción de prueba después de cada cambio importante para asegurar que el proyecto funcione correctamente.
Documenta cambios: Mantener un registro de cambios en la configuración para facilitar futuras revisiones y correcciones.
Aunque el proceso de configuración pueda parecer complicado inicialmente, con tiempo y práctica se vuelve una tarea mucho más sencilla. ¡Anímate a seguir explorando y mejorando tus habilidades en la configuración de aplicaciones!
Para .net 6.0 se puede dejar el código de la siguiente forma:
using Microsoft.Extensions.Configuration;
namespace BlobConsole
{ class Program
{staticvoidMain(string[] args){ var builder = new ConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json"); var config = builder.Build(); # aporte de @joserodrigomorenocordero
string getConnString = config["ConnectionString"]; Console.WriteLine(getConnString);}}}
En programm.cs agregar los espacios de nombre de los paquetes que instalamos en la aplicación.
using Microsoft.Extensions.Configuration;
using Microsoft.Extensions.Configuration.Json;
using Microsoft.Extensions.Configuration.FileExtensions;
var builder =newConfigurationBuilder().SetBasePath(Directory.GetCurrentDirectory()).AddJsonFile("appsettings.json",optional:false,reloadOnChange:true);var configuration = builder.Build();
Ya me parecía que en el video había creado sin sentido el builder. Ahora tiene mas choerencia.
Lo estoy corriendo pero no me imprime la connectionstring.
Sale en blanco si dejo el "Hellow World" si lo imprime.
Alguien me puede ayudar?
Andres, ¿Alguien te pudo ayudar con tu pregunta?
Valida esta linea en el archivo BlobConsole.csproj
puede suceder que la etiqueta este mal escrita y esto hace que no se imprime al correr el programa.
no entendí de qué estamos protegiendo la cadena de conexión, siempre se puede ver, la protegemos del acceso desde otra máquina o de qué exactamente? lo pongo como aporte para ver si responden algún día jijij
¿Como hago si quiero agregar una segunda cadena de conexión? Ejemplo si quiero tener una que me lleve a sql.
Es importante que en el archivo_ appsettings.json_ el nombre de la cadena de conexión este escrito en minusculas todo. El profesor dijo que podiamos colocarle el nombre que quisieramos, y es cierto, pero debe estar todo en minusculas o sino saldrá un error el ejecutar el dotnet build
La misma pregunta de Andres Julian Mendez Pizarro. La estoy corriendo pero no me imprime el connectionsstring.
Qué tal Pablo, ¿Cómo esta tu archivo appsettings?. Seguramente se trata de un typo.
Program.cs(4,42): error CS0234: The type or namespace name 'FileExtensions' does not exist in the namespace 'Microsoft.Ex
tensions.Configuration' (are you missing an assembly reference?)
mira la respuesta que dejé @José Javier Sanahuja. En lo personal me funcionó sin problema
no entendí de qué estamos protegiendo la cadena de conexión, siempre se puede ver, la protegemos del acceso desde otra máquina o de qué exactamente?
La proteges justo de eso, de que nadie la pueda ver, la idea es que nadie, incluso el mismo dev que la creó puedan accederla fácilmente si no cuentan con los privilegios necesarios
Tengo un error de compilación. Alguien puede ayudarme?
error CS0234:El tipo o el nombre del espacio de nombres 'FileExtensions' no existe en el espacio de nombres 'Microsoft.Extensions.Configuration'(¿falta alguna referencia de ensamblado?)
Estoy instalando las versiones 6.0.0 de Microsoft.Extensions.Configuration, Microsoft.Extensions.Configuration.FileExtensions y Microsoft.Extensions.Configuration.Json
Pensaría que puedes eliminar ese using, al igual que "using Microsoft.Extensions.Configuration.Json". Con el "Microsoft.Extensions.Configuration" es más que suficiente