Nella sua forma più semplice, app.config è un file XML con molte sezioni di configurazione predefinite disponibili e supporto per sezioni di configurazione personalizzate. Una "sezione di configurazione" è uno snippet di XML con uno schema destinato a memorizzare alcuni tipi di informazioni.
Le impostazioni possono essere configurate utilizzando sezioni di configurazione integrate come connectionStrings
o appSettings
. Puoi aggiungere le tue sezioni di configurazione personalizzate; questo è un argomento avanzato, ma molto potente per la creazione di file di configurazione fortemente tipizzati.
Le applicazioni Web in genere hanno un web.config, mentre le applicazioni della GUI / di servizio di Windows hanno un file app.config.
I file di configurazione a livello di applicazione ereditano le impostazioni dai file di configurazione globali, ad esempio machine.config.
Lettura da App.Config
Le stringhe di connessione hanno uno schema predefinito che è possibile utilizzare. Tieni presente che questo piccolo frammento è in realtà un file app.config (o web.config) valido:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Dopo aver definito app.config, è possibile leggerlo in codice usando la classe ConfigurationManager . Non lasciarti intimidire dagli esempi dettagliati di MSDN; è in realtà abbastanza semplice.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
Scrivere su App.Config
La modifica frequente dei file * .config di solito non è una buona idea, ma sembra che tu voglia eseguire solo una volta l'installazione.
Vedi: Cambia stringa di connessione e ricarica app.config in fase di esecuzione che descrive come aggiornare la connectionStrings
sezione del file * .config in fase di esecuzione.
Si noti che idealmente si dovrebbero eseguire tali modifiche alla configurazione da un semplice programma di installazione.
Posizione di App.Config in fase di esecuzione
D : Supponiamo di modificarne alcune manualmente <value>
in app.config, salvarlo e chiuderlo. Ora quando vado nella mia cartella bin e lancio il file .exe da qui, perché non riflette le modifiche applicate?
A : Quando compili un'applicazione, il suo app.config viene copiato nella directory bin 1 con un nome che corrisponde al tuo exe. Ad esempio, se il tuo exe è stato chiamato "test.exe", ci dovrebbe essere un "text.exe.config" nella directory bin. È possibile modificare la configurazione senza ricompilare, ma sarà necessario modificare il file di configurazione creato al momento della compilazione, non l'app.config originale.
1: Notare che i file web.config non vengono spostati, ma rimangono nella stessa posizione al momento della compilazione e della distribuzione. Un'eccezione a ciò è quando viene trasformato un web.config .
.NET Core
Nuove opzioni di configurazione sono state introdotte con .NET Core. Il modo in cui funzionano i file * .config non sembra essere cambiato, ma gli sviluppatori sono liberi di scegliere nuovi paradigmi di configurazione più flessibili.