将配置信息放在DLL中

时间:2008-10-02 11:05:03

标签: .net dll configuration

在我的项目中,我有一些功能,可用作Web应用程序和控制台应用程序(从任务计划程序启动)。为此,我将公共代码放在Web应用程序和控制台应用程序正在使用的DLL中。这很好。

但是,控制台和Web应用程序现在有一个大致相同的App.config和Web.config。是否可以将此配置放在DLL中并使其可用于两个应用程序?

4 个答案:

答案 0 :(得分:7)

是的,您可以而且应该将常用配置设置放在DLL的配置文件中。只需将app.config文件添加到DLL项目中,并确保从DLL内部读取配置设置。部署后,您的配置文件需要具有名称“MyDLL.dll.config”(假设您的DLL名为“MyDLL.dll”)并且与DLL位于同一文件夹中。

答案 1 :(得分:1)

我建议您将配置加载移动到dll而不是整个配置,然后从不同的应用程序调用它。这样就是:

  1. 您无需重新编译即可更改配置数据(始终有用)
  2. 如果您将来需要再次拆分配置,则可以使用dll。

答案 2 :(得分:0)

您可以将常用配置放在Windows注册表下,可以随时随地访问

答案 3 :(得分:0)

假设您正在使用.Net,您可以设置.settings文件来存储您的配置数据 - 其中包含的数据将存储为这些配置条目的默认值,因此即使没有app.config文件,您的应用程序将使用这些默认值运行。

我不是说这是件好事...... 8)

因此,如果您构建一个引用您的DLL的项目,您可以将相同的.settings文件添加到该项目中,这些设置将出现在应用程序的app.config文件中,DLL将能够读取这些值。如果这些值不在app.config中,则dll将回退到默认值。

大多数人会认为这是一件坏事,我倾向于同意,但你确实如此。