tiempo net modificar library example ejecucion app c# .net app-config

net - config file c#



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

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 codificación, 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í?


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 compilar). 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


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.

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):

<?xml version="1.0"?> <configuration> <connectionStrings> <add name="MyKey" connectionString="Data Source=localhost;Initial Catalog=ABC;" providerName="System.Data.SqlClient"/> </connectionStrings> </configuration>

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 <value> 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 compila 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 recompilación, pero deberá editar el archivo de configuración que se creó en el momento de la compilació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 compilación e implementación. Una excepción a esto es cuando se transformed 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.


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

ConfigurationSettings.AppSettings["KeyName"]

Toma este truco en este hilo


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

Ejemplo:

<?xml version="1.0"?> <configuration> <appSettings> <add key="key" value="test" /> </appSettings> </configuration>

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"];