Aplicación.Config en C#

Fil Zjazel Romaeus Villegas 12 octubre 2023
  1. Agregar cadenas de conexión a App.config en C#
  2. Adición de la configuración de la aplicación a App.config en C#
  3. Ejemplo completo de App.Config en C#
Aplicación.Config en C#

Este tutorial explicará el archivo App.Config en un proyecto C# y demostrará cómo se puede utilizar.

App.Config, o el archivo de configuraciones de nivel de aplicación, es un archivo basado en XML que contiene las secciones de configuración predefinidas disponibles y permite secciones de configuración personalizadas que puede modificar. A menudo se genera automáticamente al crear un nuevo proyecto.

Una App.Config muy básica puede verse así:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
</configuration>

Como puede ver, solo especifica la versión de .NET que se admitirá durante el tiempo de ejecución. Desde aquí, puede personalizar la forma en que su aplicación ubica y carga los archivos de ensamblaje. Un ejemplo típico de qué modificaciones se hacen a la App.Config sería almacenar connectionStrings o appSettings para acceder a lo largo de todo el proyecto.

Después de configurar el archivo App.Config de la forma que desee, puede llamar a sus valores almacenados a través del ConfigurationManager. Para usar el ConfigurationManager, debe agregar la declaración de uso para System.Configuration a su código.

Agregar cadenas de conexión a App.config en C#

Para agregar una cadena de conexión, debe asegurarse de que la sección para connectionStrings esté presente. Luego, dentro de él, puede agregar la cadena de conexión que se utilizará y el nombre del proveedor, cuyo valor debe ser el espacio de nombres correspondiente para su cadena de conexión.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <connectionStrings>
        <add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
    </connectionStrings>
</configuration>

Para acceder a esta cadena de conexión en su código, puede usar el ConfigurationManager y acceder a la colección completa de ConnectionStrings. Desde allí, puede extraer la cadena de conexión deseada por su nombre.

string connectionString =
    ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

Adición de la configuración de la aplicación a App.config en C#

Para agregar una configuración de configuración de la aplicación, debe asegurarse de que la sección appSettings esté presente. Luego, dentro de él, puede agregar una nueva configuración de la aplicación proporcionando la clave por la que se llamará y su valor.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <appSettings>
    	<add key="TableName" value="SampleTable" />
  	</appSettings>
</configuration>

Para acceder a esta configuración, puede usar el ConfigurationManager y acceder a la colección completa de AppSettings usando la sintaxis a continuación.

var tableName = ConfigurationSettings.AppSettings["TableName"];

Ejemplo completo de App.Config en C#

Ahora que hemos discutido algunos de los conceptos de los archivos App.Config, los combinaremos en un ejemplo.

XML:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
    </startup>
	<connectionStrings>
		<add name="myConnectionString"
			connectionString="Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True"
			providerName="System.Data.SqlClient"
        />
	</connectionStrings>
	<appSettings>
		<add key="TableName" value="SampleTable" />
	</appSettings>
</configuration>

En el archivo App.Config, almacenamos una sola cadena de conexión y una configuración llamada TableName. Tome nota de sus diferentes secciones y su diferente sintaxis.

C#:

using System;
using System.Configuration;

namespace AppConfig_Example {
  class Program {
    static void Main(string[] args) {
      // Pull the connection string from the App.Config File
      string connectionString =
          ConfigurationManager.ConnectionStrings["myConnectionString"].ConnectionString;

      // Pull the app setting from the App.Config File
      var tableName = ConfigurationSettings.AppSettings["TableName"];

      // Print the values to the console
      Console.WriteLine("Configuration String: " + connectionString + "\n");
      Console.WriteLine("Table Name: " + tableName);

      Console.ReadLine();
    }
  }
}

Usamos el ConfigurationManager para extraer los valores almacenados en el archivo App.Config en el código del programa. Para demostrar que se almacenaron y extrajeron correctamente, sus valores se imprimen en la consola.

Producción :

Configuration String: Data Source =MSI\SQLEXPRESS; Initial Catalog =SampleDB; Integrated Security=True
    
Table Name: SampleTable