【问题标题】:On Understanding ConfigurationManager in .NET了解 .NET 中的 ConfigurationManager
【发布时间】:2013-07-26 23:07:15
【问题描述】:

我试图通过在不同场景中练习来理解 .NET 中的 ConfigurationManager。

我有两个项目:Project1 和 Project2。 Project2 使用 Project1。

我的情况:我在 project1 的 app.config 文件中有一个部分(序列化文件名)。 我在 project1 的 class1 中有这行代码

 private static string SerializedConfiguration = ConfigurationManager.AppSettings["SerializedFilename"];

在 project2 中,我调用了 project1 的 class1 中的一个方法,我得到了一个异常。

当我从 project2 调用时,它像 .NET 似乎无法在 project1 的 app.config 文件中找到设置,即使我已经适当地引用了 project1。

但是,当我将部分(序列化文件名)移动到 project2 的 app.config 文件时......一切似乎都运行良好......

有人可以向我解释这里发生了什么吗?我很想假设 ConfigurationManager 只存在于客户端应用程序的上下文中(在本例中为 project2),而不存在于原始应用程序中(在本例中为 project1)

注意:我是新手(1 个月以上到 .NET)

谢谢。

【问题讨论】:

    标签: c# .net configurationmanager


    【解决方案1】:

    当你添加一个引用 app.Config 时不会被复制。 App.config 需要在您的主项目中,在您的案例项目 2 中。如果您在项目 2 中添加它并在引用的对象项目 1 中调用它,您将不会收到任何错误,因为 VS 将从您的主项目中选择它。

    【讨论】:

      【解决方案2】:

      正确,ConfigurationManager 查找 app.config 或 web.config 的执行程序集以查找设置。

      因此,如果访问配置设置的类库 DLL 在网站项目下运行,则需要将应用设置添加到 web.config,而不是类库的 app.config。

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-19
      • 2011-08-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-25
      • 2021-08-23
      • 2018-02-10
      相关资源
      最近更新 更多