配置DLL的文件

时间:2009-04-13 13:17:15

标签: app-config

我们正在应用程序从应用程序的根目录在运行时加载我们的自定义DLL(这些DLL正在实现某些接口)并通过反射执行方法。

如果自定义DLL必须从配置文件中读取一些值,那么我们必须将这些配置设置复制到主应用程序的app.config文件中。

有没有办法让每个自定义DLL都有自己的名为.config的配置文件,并从这些文件中读取其配置设置。

3 个答案:

答案 0 :(得分:3)

如果您使用的是.NET 2.0或更高版本,则可以手动告诉配置系统从所需的任何配置文件加载设置。

ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap();
exeMap.ExeConfigFilename = "C:\Application\Default.config";

Configuration exeConfig = ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None);

现在你有了自定义的“Config”对象,你就可以派对了! :-)通过调用exeConfig.GetSection()或任何你喜欢的方式加载整个部分。

另请参阅CodeProject上关于.NET 2.0配置系统的这个优秀的三部分系列 - 强烈推荐!

马克

答案 1 :(得分:1)

将DLL加载到新的AppDomain中并设置AppDomainSetup.ConfigurationFile。这将允许您为每个自定义DLL创建单独的配置文件。

答案 2 :(得分:0)

我确信在框架中有一种方法可以做到这一点,只是不记得我的头脑。您正在寻找的是Per-Assembly配置文件,我记得读过有关此Per Assembly Configuration Files

的文章