【问题标题】:configuring file for DLLsDLL 的配置文件
【发布时间】:2009-04-13 21:54:05
【问题描述】:

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

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

有什么方法可以让每个自定义 DLL 拥有自己的名为 .config 的配置文件,并从该文件本身读取其配置设置。

【问题讨论】:

    标签: app-config


    【解决方案1】:

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

    ExeConfigurationFileMap exeMap = new ExeConfigurationFileMap();
    exeMap.ExeConfigFilename = "C:\Application\Default.config";
    
    Configuration exeConfig = ConfigurationManager.OpenMappedExeConfiguration(exeMap, ConfigurationUserLevel.None);
    

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

    还可以查看 CodeProject 上关于 .NET 2.0 配置系统的这个优秀的三部分系列 - 强烈推荐!

    马克

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        我确信在框架中有一种方法可以做到这一点,只是想不起来。你要找的是 Per-Assembly 配置文件,我记得看过一篇关于这个的文章Per Assembly Configuration Files

        【讨论】:

          猜你喜欢
          • 2023-03-25
          • 2010-10-10
          • 2011-03-01
          • 1970-01-01
          • 2014-10-26
          • 1970-01-01
          • 2010-12-05
          • 2012-04-24
          • 2011-02-26
          相关资源
          最近更新 更多