我们正在使用一个应用程序,该应用程序从应用程序的根目录动态地加载我们自定义的DLL(这些DLL实现了某些接口),并通过反射执行一个方法。如果自定义DLL需要从配置文件中读取一些值,那么我们就必须将这些配置设置复制到主应用程序的app.config文件中。是否有任何方法,使每个自定义的DLL都有自己的配置文件,以.config为后缀,并从这些文件本身读取其配置设置呢?
ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap();
exeMap.ExeConfigFilename = "C:\Application\Default.config";
Configuration exeConfig = ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None);
另外,还要查看CodeProject上关于.NET 2.0配置系统的这个出色的三部曲 - 强烈推荐!
Marc
将您的 DLL 加载到新的 AppDomain 中,并设置 AppDomainSetup.ConfigurationFile。这将允许您为每个自定义 DLL 创建单独的配置文件。