App.Config in C#

Fil Zjazel Romaeus Villegas 12 Oktober 2023
  1. Hinzufügen von Verbindungsstrings zu App.config in C#
  2. Hinzufügen von App-Einstellungen zu App.config in C#
  3. Vollständiges C# App.Config Beispiel
App.Config in C#

Dieses Tutorial erklärt die Datei App.Config in einem C#-Projekt und zeigt, wie sie verwendet werden kann.

App.Config oder die Konfigurationsdatei auf Anwendungsebene ist eine XML-basierte Datei, die die verfügbaren vordefinierten Konfigurationsabschnitte enthält und benutzerdefinierte Konfigurationsabschnitte ermöglicht, die Sie ändern können. Sie wird oft automatisch beim Anlegen eines neuen Projekts generiert.

Eine sehr einfache App.Config kann so aussehen:

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

Wie Sie sehen können, gibt es nur die Version von .NET an, die während der Laufzeit unterstützt wird. Von hier aus können Sie anpassen, wie Ihre Anwendung Baugruppendateien sucht und lädt. Ein typisches Beispiel für Änderungen an der App.Config wäre das Speichern von connectionStrings oder appSettings, auf die während des gesamten Projekts zugegriffen werden kann.

Nachdem Sie die App.Config-Datei nach Ihren Wünschen eingerichtet haben, können Sie deren gespeicherte Werte über den ConfigurationManager aufrufen. Um den ConfigurationManager zu verwenden, müssen Sie die using-Anweisung für System. Konfiguration zu Ihrem Code.

Hinzufügen von Verbindungsstrings zu App.config in C#

Um einen Verbindungsstring hinzuzufügen, müssen Sie sicherstellen, dass der Abschnitt für connectionStrings vorhanden ist. Darin können Sie dann die zu verwendende Verbindungszeichenfolge und den Anbieternamen hinzufügen, dessen Wert der entsprechende Namespace für seine Verbindungszeichenfolge sein sollte.

<?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>

Um auf diese Verbindungszeichenfolge in Ihrem Code zuzugreifen, können Sie den ConfigurationManager verwenden und auf die gesamte ConnectionStrings-Sammlung zugreifen. Von dort aus können Sie die gewünschte Verbindungszeichenfolge anhand ihres Namens abrufen.

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

Hinzufügen von App-Einstellungen zu App.config in C#

Um eine App-Einstellungskonfiguration hinzuzufügen, müssen Sie sicherstellen, dass der Abschnitt appSettings vorhanden ist. Darin können Sie dann eine neue App-Einstellung hinzufügen, indem Sie den Schlüssel angeben, mit dem sie aufgerufen wird, und ihren Wert.

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

Um auf diese Konfiguration zuzugreifen, können Sie den ConfigurationManager verwenden und mit der folgenden Syntax auf die gesamte AppSettings-Sammlung zugreifen.

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

Vollständiges C# App.Config Beispiel

Nachdem wir nun einige der Konzepte von App.Config-Dateien besprochen haben, werden wir sie in einem Beispiel kombinieren.

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>

In der Datei App.Config haben wir eine einzelne Verbindungszeichenfolge und eine Konfiguration namens TableName gespeichert. Bitte beachten Sie die unterschiedlichen Abschnitte und die unterschiedliche Syntax.

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();
    }
  }
}

Wir haben den ConfigurationManager verwendet, um die in der Datei App.Config gespeicherten Werte in den Programmcode zu ziehen. Um zu demonstrieren, dass sie korrekt gespeichert und abgerufen wurden, werden ihre Werte dann auf der Konsole ausgegeben.

Ausgabe:

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