Я борюсь с конфигурацией и настройка классов в .NET 2.0AppSettings из пользовательских файлов
Если следующее contaned в файле app.config
<config>
<appSettings>
<add key="Foo" value="Hello World!"/>
</appSettings>
</config>
Я знаю, что я могу получить доступ к appSetting по
// this returns "Hello World!"
ConfigurationManager.AppSettings["Foo"]
Однако, если файл называется app1.config
(или любым другим именем), я не могу получить доступ к приложению. До тех пор, как я понимаю, с ConfigurationManager.OpenExeConfiguration
Я должен прочитать пользовательские файлы настроек конфигурации.
Configuration conf = ConfigurationManager.OpenExeConfiguration(@"..\..\app1.config");
// this prints an empty string.
Console.WriteLine(conf.AppSettings.Settings["Foo"]);
Однако conf.AppSettings.Settings["Foo"]
возвращает пустую строку.
Я также попытался следующий код, но не успех
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"]);
Как читать настройки из файла не называется app.config?
'ConfigurationManager.OpenExeConfiguration (@" .. \ .. \ app1.config ");' does not work? – aiapatag
Точка conf.AppSettings.Settings ["Foo"] возвращает пустую строку. Я ожидал «Hello World!». – user1813
OpenExeConfiguration получает путь к исполняемому файлу (exe) в качестве параметра, а не к файлу настроек – Arie