我有以下问题:
我们有一个加载模块(附加组件)的应用程序。这些模块可能需要app.config中的条目(例如WCF配置)。因为模块是动态加载的,所以我不希望在应用程序的app.config文件中包含这些条目。
我想做的事情如下:
注意:我不想覆盖默认的app.config!
它应该透明地工作,这样例如ConfigurationManager.AppSettings
就可以使用这个新文件。
在评估这个问题时,我提出了与这里提供的解决方案相同的解决方案:Reload app.config with nunit。
不幸的是,它似乎什么也做不了,因为我仍然从普通的app.config中获取数据。
我使用以下代码对其进行了测试:
Console.WriteLine(ConfigurationManager.AppSettings["SettingA"]);
Console.WriteLine(Settings.Default.Setting);
var combinedConfig = string.Format(CONFIG2, CONFIG);
var tempFileName = Path.GetTempFileName();
using (var writer = new StreamWriter(tempFileName))
{
writer.Write(combinedConfig);
}
using(AppConfig.Change(tempFileName))
{
Console.WriteLine(ConfigurationManager.AppSettings["SettingA"]);
Console.WriteLine(Settings.Default.Setting);
}
它打印相同的值两次,尽管combinedConfig
包含普通app.config之外的其他值。
https://stackoverflow.com/questions/6150644
复制相似问题