【问题标题】:machine.config appSettings are nullmachine.config appSettings 为空
【发布时间】:2011-12-08 13:27:41
【问题描述】:

在我的 machine.config 文件中,我有以下内容

<configuration>
    ....
    <appSettings>
        <add key="key" value="value"/>
    </appSettings>
</configuration>

我正在尝试使用在 asp 页面上检索它

ConfigurationManager.AppSettings["key"];

它每次都返回null。

【问题讨论】:

  • 你指的是web.config...?
  • 你在其他地方有clear 节点吗?
  • 如果您在 64 位环境中,则有两个 machine.config 文件。一个用于 Framework64,一个用于 Framework。确保它在正确的一个,或两者兼而有之。
  • @vcsjones 你的权利,这就解决了它:)
  • @harryovers 太好了,Darin 写了完整的细节。归功于他。

标签: c# asp.net .net machine.config


【解决方案1】:

你可能把它放在了错误的 machine.config 中。请记住,.NET 2.0 和 3.5 有相同的 machine.config,因为它们都以 CLR 2.0 (c:\Windows\Microsoft.NET\Framework\v2.0.50727\CONFIG\) 为目标,而 .NET 4.0 (c:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\) 有一个单独的 machine.config。

还请记住,如果您运行的是 64 位操作系统,则文件夹分别为 c:\Windows\Microsoft.NET\Framework64\v2.0.50727\CONFIG\c:\Windows\Microsoft.NET\Framework64\v4.0.30319\CONFIG\。因此,请确保您已将密钥放入与您在 ASP.NET 应用程序中定位的框架版本以及 x86 或 x64 位相对应的正确 machine.config 中。

所以你会得到一个每个 CLR 版本和 bitness 的 machine.config(不知道是否存在这样的词)。

【讨论】:

  • 我不相信 3.5 有 machine.config,因为它是运行时的。
  • @vcsjones,不,.NET 3.5 没有单独的 machine.config。它与 .NET 2.0 相同。我会更新我的答案,因为它令人困惑。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 1970-01-01
  • 2011-01-20
  • 2012-03-07
  • 1970-01-01
  • 2010-12-31
相关资源
最近更新 更多