Я борюсь с конфигурацией и настройкой классов в .NET 2.0.
Если следующее содержится в файле с именем app.config
<config>
<appSettings>
<add key="Foo" value="Hello World!"/>
</appSettings>
</config>
Я знаю, что могу получить доступ к appSetting,
// this returns "Hello World!"
ConfigurationManager.AppSettings["Foo"]
Однако, если файл называется app1.config
(или любое другое имя), я не могу получить доступ к файлу appSetting. Насколько я понимаю, с 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");
не работает? - person aiapatag   schedule 27.06.2013