使用app.config和类库

我经常需要创建一个.Net类库,它需要一个app.config来处理诸如数据库连接字符串之类的东西。 但是,这些设置必须位于调用应用程序的app.config或web.config中。 如果我想要将DLL分布到多个应用程序中,这会变得非常痛苦,因为我必须将这些设置复制到每个应用程序的app.config中。

我已经考虑过通过代码从类库中手动读取配置设置,但这也是一个很大的麻烦。 有没有人有任何建议加载类库中的app.config设置的最佳方式?


你可以做的一件事就是为你的库设置一个单独的设置文件,然后你只需在你的入口应用程序配置文件中引用它。

有关此信息,请参阅此问题中接受的答案。


我知道这不是你想听到的,但入口点的配置文件是放置这些设置的合理位置。 如果每个库都需要它自己的配置文件,那么编辑每一个文件而不是一个文件就会很繁琐。

我会有一个文本文件,默认设置作为你的库的一部分(也可以作为项目的一部分)包含在默认设置配置库中(可以复制并粘贴到配置文件中)。


让每个类库定义自定义ConfigurationSection中的配置设置。

然后将自定义节处理程序添加到您的process.exe.config文件。

这篇MSDN文章在其解释中非常全面,在VB和C#中都有例子。

它涉及编写一些相当重复的代码--Dmitryr已经创建了这个工具来从XML配置的片段生成配置部分,这可能会有所帮助。

链接地址: http://www.djcxy.com/p/21089.html

上一篇: Using app.config with a class library

下一篇: Get executing assembly name from referenced DLL in C#