【问题标题】:Configuration from App.config isn't being pulled correctly来自 App.config 的配置未正确提取
【发布时间】:2011-05-27 05:06:31
【问题描述】:

我正在尝试提取保存到 app.config 文件中的 URL,但它返回一个空白字符串。任何想法为什么?

string asdf = String.Format("{0}", ConfigurationManager.AppSettings["MemberUrl"]);

还有配置文件:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <add key="ForumUrl" value="http://www.dreamincode.net/forums/xml.php?showforum=" />
    <add key="MemberUrl" value="http://www.dreamincode.net/forums/xml.php?showuser=" />
  </appSettings>
</configuration>

【问题讨论】:

  • 普通 .NET 应用程序还是在另一个进程下运行?
  • 只是一个普通的旧 App.config 文件添加到我的解决方案中。没有其他进程接触它。
  • 是控制台应用程序、Windows 服务还是 Web 应用程序?
  • 只是一个观察,你有什么理由在这里打扰string.Format("{0}", ...,你什么时候可以直接分配它?
  • @Sergio 我知道当我在 explorer 下运行一个 .NET 应用程序时,它会寻找 explorer.exe.config 大声笑

标签: c# app-config


【解决方案1】:

如果 app.config 是类库的一部分,它可能没有被正确地复制到 bin 文件夹中(如果有的话)。

配置文件必须命名为&lt;exefilename&gt;.config,它才能被正在运行的应用程序拾取。

应用程序项目中的 App.config 文件(生成 exe 文件、控制台、WinForms 等的文件)将在部署时复制和重命名。或者,如果这是从 Web 项目执行的,则需要进入 web.config。

这有帮助吗?

【讨论】:

  • 不。我已经说过 .config 文件已正确复制到 bin 文件夹中。这不是问题。
  • 你说“是的,我看到了一个 SharpDIC.Api.dll.config 文件”,但那是 DLL,而不是 EXE。
  • 但是没有可执行文件。这只是一个带有 App.config 来保存常量的类库项目。
  • 那么什么执行类库中的代码呢?它位于该应用程序的配置文件中。
  • 同意,这个答案比接受的答案提供了更好的解释。
【解决方案2】:

您的类库需要的所有配置信息都必须在主项目 App.config 或 web.config 中。换句话说,如果您的 app.config 文件附加到库中,它将不会被读取。

转到主应用程序并将适当的键/值添加到它的配置文件中。

【讨论】:

    【解决方案3】:

    Sergio 我刚试过这是一个控制台应用程序,它运行良好。

    我建议它是一个类库;而不是您已将 app.config 文件添加到的主程序集。

    当您进行构建时;查看二进制输出文件夹 Debug 或 Release,您应该在其中看到一个名为 yourEXEfilename.config 的文件;如果该文件不存在,那么您将不会从上面的代码行中获得任何输出。

    AppSettings 将返回一个 NULL 字符串。

    希望这个有用 亲切的问候 诺埃尔

    【讨论】:

    • 我也可以问一下为什么要投票吗?这也是一个比被接受为答案的建议更广泛的建议,我花时间对此进行了测试。就像这里的其他几个人一样,他们也毫无理由地被否决了;那么谁想要砍倒其他人呢!我想是时候向版主报告了吗?
    【解决方案4】:

    没有理由不这样做 - 你还有其他相关信息吗? 仅供参考,你不需要String.Format 来做你正在做的事情,以下就可以了

    string asdf = ConfigurationManager.AppSettings["MemberUrl"];
    

    【讨论】:

      猜你喜欢
      • 2019-04-16
      • 1970-01-01
      • 2013-10-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      相关资源
      最近更新 更多