es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

El archivo de configuración no se genera en .NET 5 y 6.

En .NET 4, para crear un archivo de configuración ([nombre].exe.config) simplemente tendría que agregar un archivo de configuración (Settings.settings) al proyecto mediante la adición de un Archivo de configuración desde el cuadro de dialogo de Añadir nuevo elemento. Luego, después de la compilación, el archivo [nombre].exe.config se generaba junto al archivo exe en la carpeta de salida. (Por alguna razón, también se añadía un App.config al proyecto.)

Con .NET 5 y 6 se entiende que el archivo de configuración se llama [nombre].dll.config, sin embargo, al seguir el mismo procedimiento mencionado anteriormente, este archivo no se genera. (Tampoco se agrega un archivo App.config al proyecto.)

Entonces, mi pregunta es cómo generar un archivo de configuración en una aplicación de escritorio de Windows que apunta a .NET 6.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Para generar un archivo de configuración en una aplicación de escritorio de Windows dirigida a .NET 6, se puede usar la clase ConfigurationBuilder.

    1. Agregue el paquete NuGet Microsoft.Extensions.Configuration a su proyecto.
    2. Cree un archivo JSON llamado appsettings.json en el directorio raíz de su proyecto. Este archivo se utilizará para almacenar la configuración de su aplicación.

    3. En su archivo Program.cs, agregue el siguiente código para construir la configuración y obtener la configuración:

      using Microsoft.Extensions.Configuration;
      
      var builder = new ConfigurationBuilder()
         .SetBasePath(AppDomain.CurrentDomain.BaseDirectory)
         .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
      
      IConfigurationRoot configuration = builder.Build();
      var setting1 = configuration["Setting1"];
      var setting2 = configuration["Setting2"];
      

    4. Agregue su configuración al archivo appsettings.json:
      {
       "Setting1": "Algun valor",
       "Setting2": "Otro valor"
      }
      

      Puede agregar cualquier cantidad de configuraciones en este archivo.

    5. Para acceder a la configuración en toda su aplicación, puede inyectar la interfaz IConfiguration en sus clases:

      using Microsoft.Extensions.Configuration;
      using Microsoft.Extensions.DependencyInjection;
      
      services.AddSingleton(provider => provider.GetRequiredService<iconfiguration>().Get<misconfiguraciones>());
      

      Luego puede crear una clase que represente su configuración:

      public class MisConfiguraciones
      {
         public string Setting1 { get; set; }
         public string Setting2 { get; set; }
      }
      

      Y usarla en su código:

      public class MiClase
      {
         private readonly MisConfiguraciones _configuraciones;
      
         public MiClase(MisConfiguraciones configuraciones)
         {
             _configuraciones = configuraciones;
         }
      
         public void HacerAlgo()
         {
             Console.WriteLine(_configuraciones.Setting1);
             Console.WriteLine(_configuraciones.Setting2);
         }
      }
      

    6. Cuando compile su aplicación, el archivo appsettings.json se copiará en el directorio de salida junto con su archivo exe. La configuración se leerá desde este archivo en tiempo de ejecución.

Comments are closed.