我有一个ASP.NET解决方案,其中有两个独立的项目。一个是普通用户界面,另一个是前面提到的类库。
在我的类库项目中,我试图从App.Config文件中读取,但它正在从Web.Config文件中读取。我正在使用:
string url = Convert.ToString(ConfigurationManager.AppSettings["UpdateURL"]);
最初,这个密钥是用Web.Config编写的,但现在我已将其从那里删除并将其添加到App.Config文件中。但是,编译器仍在尝试从Web.Config中获取它。我正在做的事可能有些不对劲。请告诉我为完成这项工作需要做出哪些改变。
答案 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文件,但这只是一个品味问题,这取决于您。