ich mit der Konfiguration habe Schwierigkeiten und Klassen in .NET 2.0AppSettings von benutzerdefinierten Dateien
Einstellung Wenn die folgenden in einer Datei namens app.config
contaned wird
<config>
<appSettings>
<add key="Foo" value="Hello World!"/>
</appSettings>
</config>
Ich weiß, dass ich das appSetting von
zugreifen kannWenn die Datei jedoch app1.config
(oder einen anderen Namen) heißt, kann ich nicht auf die AppSetting zugreifen. Solange ich verstehe, mit ConfigurationManager.OpenExeConfiguration
sollte ich benutzerdefinierte Konfigurationsdateien lesen.
Configuration conf = ConfigurationManager.OpenExeConfiguration(@"..\..\app1.config");
// this prints an empty string.
Console.WriteLine(conf.AppSettings.Settings["Foo"]);
conf.AppSettings.Settings["Foo"]
gibt jedoch eine leere Zeichenfolge zurück.
Ich habe auch versucht, den folgenden Code aber keinen Erfolg
ExeConfigurationFileMap exeFileMap = new ExeConfigurationFileMap();
exeFileMap.ExeConfigFilename = System.IO.Directory.GetCurrentDirectory()
+ "\\App1.config";
Configuration myConf = ConfigurationManager.OpenMappedExeConfiguration
(exeFileMap, ConfigurationUserLevel.None);
// returns empty string as well
Console.WriteLine(myConf.AppSettings.Settings["Foo"]);
Wie aus einer Datei app.config nicht aufgerufen lesen Einstellung?
'ConfigurationManager.OpenExeConfiguration (@" .. \ .. \ app1.config ");' funktioniert nicht? – aiapatag
Der Punkt ist conf.AppSettings.Settings ["Foo"] gibt eine leere Zeichenfolge zurück. Ich erwartete "Hallo Welt!" – user1813
OpenExeConfiguration ruft den Pfad der ausführbaren Datei (exe) als Parameter ab, nicht den Pfad zur Einstellungsdatei – Arie