【发布时间】:2010-09-14 18:36:39
【问题描述】:
在我的项目中,我的功能被用作 Web 应用程序和控制台应用程序(从任务调度程序启动)。为此,我将公共代码放入 Web 应用程序和控制台应用程序都在使用的 DLL 中。这很好用。
但是,控制台和 Web 应用程序现在有一个几乎相同的 App.config 和 Web.config。是否可以将此配置也放入 DLL 并使其对两个应用程序都可用?
【问题讨论】:
标签: .net dll configuration
在我的项目中,我的功能被用作 Web 应用程序和控制台应用程序(从任务调度程序启动)。为此,我将公共代码放入 Web 应用程序和控制台应用程序都在使用的 DLL 中。这很好用。
但是,控制台和 Web 应用程序现在有一个几乎相同的 App.config 和 Web.config。是否可以将此配置也放入 DLL 并使其对两个应用程序都可用?
【问题讨论】:
标签: .net dll configuration
是的,您可以并且应该将通用配置设置放入 DLL 的配置文件中。只需将 app.config 文件添加到 DLL 项目,并确保从 DLL 中读取配置设置。部署后,您的配置文件需要具有名称“MyDLL.dll.config”(假设您的 DLL 名为“MyDLL.dll”)并且与 DLL 位于同一文件夹中。
【讨论】:
我建议您将配置加载移动到 dll 而不是整个配置,然后从不同的应用程序调用它。这是这样的:
【讨论】:
你可以把通用配置放在windows注册表下,随心所欲地访问
【讨论】:
假设您使用的是 .Net,您可以设置一个 .settings 文件来存储您的配置数据 - 其中包含的数据将作为这些配置条目的默认值存储,因此即使没有 app.config 文件,您的应用程序将以这些默认值运行。
我并不是说那是件好事... 8)
因此,如果您构建一个引用您的 DLL 的项目,您将向该项目添加相同的 .settings 文件,这些设置将出现在应用程序的 app.config 文件中,并且 DLL 将能够读取这些值.如果这些值不在 app.config 中,则 dll 将使用默认值。
大多数人会认为这是一件坏事,我倾向于同意,但你就是这样。
【讨论】: