【问题标题】:Class Library project in ASP.NET reading from web.config and not app.configASP.NET 中的类库项目从 web.config 而不是 app.config 读取
【发布时间】:2013-07-06 16:13:00
【问题描述】:

我有一个 ASP.NET 解决方案,其中有两个单独的项目。一个是普通的UI,另一个是类库,在前者中引用。

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

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

最初,此密钥是在 Web.Config 中编写的,但现在我已将其从那里删除并将其添加到 App.Config 文件中。但是,编译器仍在尝试从 Web.Config 中获取它。我可能做错了什么。请告诉我我需要做哪些改变才能完成这项工作。

【问题讨论】:

  • 您可能需要重新构建您的应用程序。
  • 你检查过这个其他帖子stackoverflow.com/questions/1303202/… 吗?
  • 重建不起作用。 @Saurabh 是对的。这是类似的问题。

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


【解决方案1】:

Web 应用程序将使用 web.config

将您的应用设置保存在其中。不需要 dll 特定的配置文件。

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

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

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

【讨论】:

    【解决方案2】:

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

    所以如果你的类库有他自己的 appConfig 文件,这个就不再“有效”了。 Web.Config 文件有偏好。

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

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

    【讨论】:

      猜你喜欢
      • 2012-04-09
      • 2013-09-13
      • 2019-09-20
      • 2023-03-03
      • 2020-08-13
      • 1970-01-01
      • 1970-01-01
      • 2011-07-30
      • 1970-01-01
      相关资源
      最近更新 更多