Im einfachsten Fall ist die app.config eine XML-Datei mit vielen vordefinierten Konfigurationsabschnitten und Unterstützung für benutzerdefinierte Konfigurationsabschnitte. Ein "Konfigurationsabschnitt" ist ein XML-Ausschnitt mit einem Schema, in dem Informationen gespeichert werden sollen.
Einstellungen können mithilfe integrierter Konfigurationsabschnitte wie connectionStrings
oder konfiguriert werden appSettings
. Sie können Ihre eigenen benutzerdefinierten Konfigurationsabschnitte hinzufügen. Dies ist ein fortgeschrittenes Thema, aber sehr leistungsfähig zum Erstellen stark typisierter Konfigurationsdateien.
Webanwendungen haben normalerweise eine web.config, während Windows-GUI- / Dienstanwendungen eine app.config-Datei haben.
Konfigurationsdateien auf Anwendungsebene erben Einstellungen von globalen Konfigurationsdateien, z. B. der Datei machine.config.
Lesen aus der App.Config
Verbindungszeichenfolgen haben ein vordefiniertes Schema, das Sie verwenden können. Beachten Sie, dass dieses kleine Snippet tatsächlich eine gültige app.config- (oder web.config-) Datei ist:
<?xml version="1.0"?>
<configuration>
<connectionStrings>
<add name="MyKey"
connectionString="Data Source=localhost;Initial Catalog=ABC;"
providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
Nachdem Sie Ihre app.config definiert haben, können Sie sie mit dem ConfigurationManager im Code lesen Klasse . Lassen Sie sich von den ausführlichen MSDN-Beispielen nicht einschüchtern. es ist eigentlich ganz einfach.
string connectionString = ConfigurationManager.ConnectionStrings["MyKey"].ConnectionString;
Schreiben in die App.Config
Das häufige Ändern der * .config-Dateien ist normalerweise keine gute Idee, aber es scheint, als ob Sie nur eine einmalige Einrichtung durchführen möchten.
Siehe: Verbindungszeichenfolge ändern und app.config zur Laufzeit neu laden, in der beschrieben wird, wie die aktualisiert wirdconnectionStrings
Abschnitt der Datei * .config zur Laufzeit .
Beachten Sie, dass Sie solche Konfigurationsänderungen idealerweise mit einem einfachen Installationsprogramm durchführen würden.
Speicherort der App.Config zur Laufzeit
F : Angenommen, ich ändere einige manuell <value>
in app.config, speichere sie und schließe sie dann. Wenn ich jetzt zu meinem bin-Ordner gehe und die EXE-Datei von hier aus starte, warum spiegelt sie nicht die angewendeten Änderungen wider?
A : Wenn Sie eine Anwendung kompilieren, wird ihre app.config mit einem Namen, der Ihrer exe entspricht, in das bin-Verzeichnis 1 kopiert . Wenn Ihre Exe beispielsweise "test.exe" heißt, sollte sich in Ihrem bin-Verzeichnis eine "text.exe.config" befinden. Sie können die Konfiguration ohne Neukompilierung ändern, müssen jedoch die Konfigurationsdatei bearbeiten, die zur Kompilierungszeit erstellt wurde, nicht die ursprüngliche app.config.
1: Beachten Sie, dass web.config-Dateien nicht verschoben werden, sondern sich zum Zeitpunkt der Kompilierung und Bereitstellung am selben Speicherort befinden. Eine Ausnahme bildet die Transformation einer web.config .
.NET Core
Mit .NET Core wurden neue Konfigurationsoptionen eingeführt. Die Funktionsweise von * .config-Dateien scheint sich nicht geändert zu haben, aber Entwickler können neue, flexiblere Konfigurationsparadigmen auswählen.