如何在 dll 级别读取 app.config。? [复制]

Posted

技术标签:

【中文标题】如何在 dll 级别读取 app.config。? [复制]【英文标题】:How to read app.config at dll level.? [duplicate] 【发布时间】:2011-09-16 22:28:54 【问题描述】:

我在一个解决方案中有一个控制台应用程序项目和库项目 (dll)。

库项目 有 app.config 文件,我在其中存储了一些我在库中使用的键值对。控制台应用程序引用此 dll。

我在 控制台应用程序 有另一个 app.config 文件,其中有控制台应用程序的设置。

当我运行程序时,我的 library.dll 总是从 console application 引用 app.config

我想分离每个 dll 的职责,所以我希望 dll 始终引用其自己的 app.config 文件,而不是调用应用程序的。

在这种情况下,library.dll 应该使用它自己的 的 app.config,而不是调用应用程序的 app.config。

我该如何做到这一点?

【问题讨论】:

【参考方案1】:

你的问题已经被问了很多次了......

实际上,您可以指示 .NET 从另一个文件中读取配置设置,在您的情况下将类似于 library.dll.config,有一些项目或类可以执行此操作,称为 assemblysettingsreader 或类似的东西。

无论如何,我的建议是不要这样做。起初听起来很酷,但这样想,你的库不是单独运行的,可以被控制台应用程序、网站或 wpf ui 项目引用,所有这些客户端可能需要自定义配置并具有不同的设置,因此它使完全有必要进行与调用应用程序配置文件相关的设置。

【讨论】:

+1 建议避免库的配置文件。最好在库中提供某种API,以编程方式将客户端的配置参数传递给lib,并让客户端将参数存储在自己的配置文件中。 Davide,你回答的第一段根本没有帮助,这个问题是我在谷歌搜索中的第一个结果,我期待 5 票的答案有好处。如果你知道很多解决方案,你可以为像我这样的人指定一个。你的第二段也不正确。我有一个登录模块,无论哪个模块调用该 dll,它总是会调用特定的数据库,所以我需要配置一次,尽管我有多个用户界面。 如果您能提供问题的解决方案,将会很有用。

以上是关于如何在 dll 级别读取 app.config。? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何在不使用用户设置的情况下在运行时读取/写入 app.config 设置?

如何在没有任何app.config的情况下访问dll中webservice的Web方法?

从 .NET 中的 app.config 或 web.config 读取设置

从类库项目中的 App.config 中读取

从.Net到vb6的Web服务的DLL - 如何设置app.config

将 app.config 重命名为 dllname.dll.config