ASP.NET中的类库项目从web.config读取而不是app.config

时间:2013-07-09 06:46:39

标签: asp.net web-config app-config

我有一个ASP.NET解决方案,其中有两个独立的项目。一个是普通用户界面,另一个是前面提到的类库。

在我的类库项目中,我试图从App.Config文件中读取,但它正在从Web.Config文件中读取。我正在使用:

string url = Convert.ToString(ConfigurationManager.AppSettings["UpdateURL"]);

最初,这个密钥是用Web.Config编写的,但现在我已将其从那里删除并将其添加到App.Config文件中。但是,编译器仍在尝试从Web.Config中获取它。我正在做的事可能有些不对劲。请告诉我为完成这项工作需要做出哪些改变。

2 个答案:

答案 0 :(得分:2)

网络应用程序将使用web.config

将您的应用设置保留在其中。不需要dll specic配置文件。

Windows应用程序将使用App.config,而Web应用程序将使用web.config

如果您在Windows或控制台应用程序中使用dll,请将设置放在app.config中。

Dlls将始终使用加载它们的应用程序的配置文件。 如果你想拥有一个特定于DLL的配置文件,你必须自己加载它。

答案 1 :(得分:0)

这是正常行为。任何引用的项目都将在父级规则下运行。

因此,如果您的类库有自己的appConfig文件,那么这个文件就不再“有效”了。 Web.Config文件具有首选项。

您需要将类库的appSettings部分复制到Web.Config文件中。

您还可以选择“链接”设置的读取,就像,web.Config的appSettings部分可能指向另一个.config文件,但这只是一个品味问题,这取决于您。