为DLL配置文件

4
我们正在使用一个应用程序,该应用程序从应用程序的根目录动态地加载我们自定义的DLL(这些DLL实现了某些接口),并通过反射执行一个方法。如果自定义DLL需要从配置文件中读取一些值,那么我们就必须将这些配置设置复制到主应用程序的app.config文件中。是否有任何方法,使每个自定义的DLL都有自己的配置文件,以.config为后缀,并从这些文件本身读取其配置设置呢?
3个回答

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配置系统的这个出色的三部曲 - 强烈推荐!

Marc


1

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


0

我确定在框架中有一种方法可以做到这一点,只是一时想不起来了。你要找的是每个程序集的配置文件,我记得读过一篇关于这个的文章每个程序集的配置文件


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接