【问题标题】:How to get the key value from the AppSettings.Config file?如何从 AppSettings.Config 文件中获取键值?
【发布时间】:2011-10-10 03:20:26
【问题描述】:

我正在尝试在 appsettings.Config 文件中设置我的键值,但似乎无法正常工作。

这就是我为此写的。该代码是从 MDI 文件的构造函数中调用的,它只返回空值。有人知道为什么吗?

     var getValue = ConfigurationSettings.AppSettings["ShowQueryTextbox"];

我也尝试过 ConfigurationManager.AppSettings 。那也没用。

我的 AppSettings 代码如下。

<configuration>
  <appSettings>
    <add key="ShowQueryTextbox" value="true"/>
  </appSettings>
</configuration>

【问题讨论】:

  • ShowQueryTextbox 在配置文件和代码中是否匹配大小写?
  • 注意它区分大小写..你介意显示配置
  • 您能否像映射了其他项目一样添加详细信息,以及它的确切位置和命名为,可能根本没有调用它
  • 我写的就是这个。我的意思是,我试图从我的 mdi 文件的构造函数中调用它

标签: c# appsettings


【解决方案1】:

我可以这样:

System.Configuration.ConfigurationManager.AppSettings.Get("KEY").ToString();

【讨论】:

    【解决方案2】:

    ConfigurationManager 仍然是最新的 - 2017 年。

    顺便说一句,如果您只是想将 appsettings 配置值从字符串转换为布尔值,请使用Convert.ToBoolean

        if (Convert.ToBoolean(ConfigurationManager.AppSettings["EnableLoggingInfo"]))
        {
            log.Info(message);
        }
    

    在您的 appsettings 配置中 (web.config)

    <appSettings>
        <add key="EnableLoggingInfo" value="true" />
    
      </appSettings>
    

    【讨论】:

      【解决方案3】:

      检查Properties.Settings.Default.ShowQueryTextbox

      【讨论】:

      【解决方案4】:

      记住要使用:

      ConfigurationManager.AppSettings["MyKey"];
      

      您需要在您的项目中添加对 System.Configuration 的引用。

      【讨论】:

        【解决方案5】:

        如果您在错误的配置文件中设置了 appsettings,也会出现此错误 - 例如,在 WCF 应用程序中,它应该是托管项目中的那个

        【讨论】:

          【解决方案6】:

          ConfigurationSettings.AppSettings 已经过时了,试试

          ConfigurationManager.AppSettings["ShowQueryTextbox"];
          

          【讨论】:

          • 他已经提到使用ConfigurationManager 对他不起作用
          • 谢谢,这正是我所需要的。即使它没有回答问题。
          【解决方案7】:

          将 App.Config 文件重命名为 AppSettings.Config 时出现问题。感谢所有的指导和帮助。

          【讨论】:

          • 在测试场景中,我们并不提前知道我们正在加载哪个键。我们将所有键加载到字典中以供使用。因此,按照您建议的方式获取密钥意味着我们必须知道密钥名称,而我们在运行时没有该信息。
          【解决方案8】:

          假设您已将其添加到所需的配置文件中,您能否检查您尝试访问的密钥的大小写是否区分大小写,因此如果您键入了不同的大小写,它将不会返回预期值。

          【讨论】:

          • 和我从配置文件中复制粘贴一样。
          • 这种情况不太可能发生,您能否重建并尝试,因为这将是通过ConfigurationManager访问时要查看的唯一文件
          • 我的配置文件中的这个头文件有什么关系吗?
          • 一点都不好,你能在调试文件夹中检查你是否在xml文件中获取这些值吗?
          • 我不知道该引用哪个文件。
          猜你喜欢
          • 2013-07-07
          • 2019-11-04
          • 2021-03-29
          • 1970-01-01
          • 2021-07-22
          • 2020-05-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多