¿Qué es App.config en C # .NET? ¿Cómo usarlo?

He hecho un proyecto en C # .NET donde mi archivo de base de datos es un libro de Excel. Dado que la ubicación de la cadena de conexión está codificada en mi encoding, no hay ningún problema para instalarla en mi sistema, pero para otros sistemas existe.

¿Hay alguna manera de pedirle al usuario que establezca una ruta una vez que se haya completado la configuración de la aplicación?

Las respuestas que obtuve fueron “Usar App.Config” … ¿alguien puede decir qué es este App.config y cómo usarlo en mi contexto aquí?

En su forma más simple, el app.config es un archivo XML con muchas secciones de configuración predefinidas disponibles y soporte para secciones de configuración personalizadas. Una “sección de configuración” es un fragmento de XML con un esquema destinado a almacenar algún tipo de información.

  • Descripción general (MSDN)
  • Configuración de cadena de conexión (MSDN)

La configuración se puede configurar mediante las secciones de configuración integradas, tales como connectionStrings o appSettings . Puede agregar sus propias secciones de configuración personalizadas; este es un tema avanzado, pero muy poderoso para construir archivos de configuración fuertemente tipados.

Las aplicaciones web suelen tener un archivo web.config, mientras que las aplicaciones GUI / servicio de Windows tienen un archivo app.config.

Los archivos de configuración de nivel de aplicación heredan la configuración de los archivos de configuración global, por ejemplo, machine.config.

Lectura de la aplicación.Config

Las cadenas de conexión tienen un esquema predefinido que puede usar. Tenga en cuenta que este pequeño fragmento es en realidad un archivo válido app.config (o web.config):

       

Una vez que haya definido su app.config, puede leerla en código usando la clase ConfigurationManager . No se deje intimidar por los ejemplos detallados de MSDN; en realidad es bastante simple.

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

Escribiendo a la App.Config

Cambiar los archivos * .config con frecuencia no suele ser una buena idea, pero parece que solo desea realizar una configuración única.

Consulte: Cambiar cadena de conexión y volver a cargar app.config en tiempo de ejecución, que describe cómo actualizar la sección connectionStrings del archivo * .config en tiempo de ejecución.

Tenga en cuenta que idealmente realizaría dichos cambios de configuración desde un instalador simple.

Ubicación de App.Config at Runtime

P : Supongamos que cambio manualmente algo de en app.config, lo guardo y luego lo cierro. Ahora cuando voy a mi carpeta bin e inicio el archivo .exe desde aquí, ¿por qué no refleja los cambios aplicados?

R : Cuando comstack una aplicación, su app.config se copia al directorio bin 1 con un nombre que coincida con su exe. Por ejemplo, si su exe se llamaba “test.exe”, debería haber un “text.exe.config” en su directorio bin. Puede cambiar la configuración sin una recomstackción, pero deberá editar el archivo de configuración que se creó en el momento de la comstackción, no el archivo app.config original.

1: tenga en cuenta que los archivos web.config no se mueven, sino que permanecen en la misma ubicación durante el tiempo de comstackción e implementación. Una excepción a esto es cuando se transforma un web.config.

.NET Core

Se introdujeron nuevas opciones de configuración con .NET Core. La forma en que funcionan los archivos * .config no parece haber cambiado, pero los desarrolladores son libres de elegir nuevos paradigmas de configuración más flexibles.

  • Configuración en ASP.NET Core
  • Essential .NET – Configuración en .NET Core

Simplemente, App.config es un XML archivo basado en XML que contiene las configuraciones de nivel de aplicación .

Ejemplo:

       

Puede acceder a las configuraciones utilizando ConfigurationManager como se muestra en el fragmento de código siguiente:

 var value = System.Configuration.ConfigurationManager.AppSettings["key"]; // value is now "test" 

Nota: ConfigurationSettings es un método obsoleto para recuperar información de configuración.

 var value = System.Configuration.ConfigurationSettings.AppSettings["key"]; 

App.Config es un archivo XML que se utiliza como un archivo de configuración para su aplicación. En otras palabras, almacena dentro de él cualquier configuración que desee cambiar sin tener que cambiar el código (y volver a comstackr). A menudo se usa para almacenar cadenas de conexión.

Consulte este artículo de MSDN sobre cómo hacerlo: http://msdn.microsoft.com/en-us/library/ms254494(v=vs.80).aspx

Puede acceder a las claves en la App.Config usando:

 ConfigurationSettings.AppSettings["KeyName"] 

Toma este truco en este hilo