7

Hier in meinem Projekt habe ich zwei Anwendung Konfigurationsdateien genannt app.config und accessLevel.config. Jetzt mit der OpenExeConfiguration konnte ich auf die app.config.exe file zugreifen, aber nicht die accessLevel.config. Bitte helfen Sie dabei.Wie liest man Werte aus mehreren Konfigurationsdateien in C# innerhalb eines einzelnen Projekts?

Der Hauptgrund, warum ich 2 Konfigurationsdateien habe, ist, den Unterschied zu zeigen und den Code einfach zu machen. Ich muss die Werte von accessLevel.config in meinem C# Code lesen.

Versuchte den Code unten, aber keine Verwendung:

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); 
config.AppSettings.File = "App2.config"; 

Antwort

19

here See.

Diesen in Ihrem App.config:

<appSettings file="accessLevel.config"/> 

Und dann eine andere Datei haben accessLevel.config wie folgt aufgerufen:

<?xml version="1.0" encoding="utf-8" ?> 
<appSettings> 
    <add key="TestSetting" value="TestValue"/> 
</appSettings> 

Und dann können Sie Ihre Konfigurationswerte im Code wie folgt zugreifen :

Stellen Sie sicher, dass accessLevel.config zum Kopieren in das Ausgabeverzeichnis festgelegt ist (klicken Sie mit der rechten Maustaste auf die Datei in Visual Studio -> Eigenschaften -> In Ausgabeverzeichnis kopieren -> Neu kopieren).

+0

Sollte ich diese Zeile in 'app.config.exe' haben? – Praveen

+0

Haben bearbeitet und repariert - sehen Sie, ob Sie das schaffen können? Ist es appSettings, die Sie versuchen, in eine andere Datei oder einen anderen Konfigurationsabschnitt zu verschieben? In jedem Fall gilt das gleiche Prinzip. – Michael

+0

Diese Antwort verdient Akzeptanz. @Praveen –