如何在dll级别读取app.config文件?

14

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

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

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

当我运行程序时,我的library.dll总是引用来自控制台应用程序app.config

我想将每个dll的职责分开, 因此我希望一个 dll 总是引用自己的 app.config 文件,而不是调用应用程序的 app.config 文件。

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

我如何实现这个?

1个回答

8
您所询问的问题已经被反复问过很多次...实际上,您可以指示.NET从另一个文件中读取配置设置,在您的情况下将是类似于library.dll.config的东西,有一些名为assemblysettingsreader或类似名称的项目或类可以实现这一点。 我的建议是不要这样做。起初听起来很酷,但请这样考虑,您的库并非单独运行,可能会被控制台应用程序、网站或WPF UI项目引用,所有这些客户端可能需要自定义配置并具有不同的设置,因此具有与调用应用程序配置文件相关的设置是完全合理的。

1
建议避免在库中使用配置文件,最好在库中提供某种API,以便从客户端传递配置参数给库,并让客户端将参数存储在自己的配置文件中。 - Doc Brown
7
Davide,你的回答第一段完全没有帮助。我在谷歌搜索中找到了这个问题,并期望从5票答案中得到好的结果。如果你知道很多解决方案,可以为像我这样的人指定一个。你的第二段话也不正确。我有一个登录模块,它将始终调用特定的数据库,而不管哪个模块调用该dll,因此我需要进行一次配置,尽管我有多个用户界面。 - AaA
1
如果您能提供一个解决方案,那将非常有用。 - Rejeev Divakaran

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