【问题标题】:.NET and Configuration Files With DLLS.NET 和带有 DLLS 的配置文件
【发布时间】:2010-07-01 05:39:27
【问题描述】:

我对在 .NET 中使用配置有点熟悉,但我对某些事情有点困惑。您创建一个 App.Config 文件以与您的 exe 一起使用,并且您创建的任何 dll 都使用相同的配置文件。

那么,如何从 DLL 中访问配置文件中的配置?如果您在 Visual Studio 中的 DLL 项目中创建 settings.settings,它最终会变成空白,其中没有任何设置。

谢谢。

【问题讨论】:

    标签: c# .net


    【解决方案1】:

    您可以使用System.Configuration.ConfigurationManager 类从 DLL 中的 app.config(或 web.config)中获取设置。 AppSettings 属性将从配置文件的 appSettings 部分获取数据。

    NameValueCollection settings = System.Configuration.ConfigurationManager.AppSettings;
    string keyValue = settings["SomeKey"];
    

    【讨论】:

      【解决方案2】:

      我认为您必须共享所有 dll 的应用程序设置文件。

      因此,对于每个引用的程序集,您必须在此配置文件中有不同的部分...

      【讨论】:

      • 对。我在 settings.settings 文件中添加了一些设置,它在 dll 项目中为我创建了一个 app.config。 app.config 的设置包含在 dll 的命名空间中。我想我需要做的就是将设置移动到exe项目附带的app.config中,并删除dll项目中的app.config
      • 我的问题实际上比这要复杂一些,因为我想动态实例化 dll,等等。但是当我到达那里时,我必须解决这个问题。
      【解决方案3】:

      没有简单的方法可以满足您的要求(使用 DLL 项目中的 app.config 文件,而不是使用 DLL 的 EXE 文件的 app.config 文件,或者除了 app.config 文件之外。)

      请参阅此线程中的帖子 #3:

      http://bytes.com/topic/c-sharp/answers/226001-problem-app-config-dll

      【讨论】:

      • 是的,但我真的不需要两个 app.config 文件。我可以只使用exe项目中的那个。当我在 dll 项目中的 settings.settings 文件中添加一些内容时,它会在 dll 项目中生成 app.config。我打算删除它。
      • 谢谢,到目前为止的答案非常有帮助。
      猜你喜欢
      • 1970-01-01
      • 2017-05-25
      • 2011-10-08
      • 2017-04-17
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 2023-04-02
      • 2011-08-30
      相关资源
      最近更新 更多