Как получить ключевое значение из AppSettings.Файл config?

Я пытаюсь получить значение ключа, установленное в appsettings.Файл конфигурации, но, похоже, не работает.

вот что я написал для этого. Код вызывается из конструктора MDI-файла и возвращает только нулевое значение. Кто-нибудь знает почему?

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

Я также пробовал с ConfigurationManager.Параметр appsettings . Это тоже не сработало.

мой код AppSettings выглядит следующим образом.

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

8 ответов


ConfigurationSettings.AppSettings устарели, попробуйте

ConfigurationManager.AppSettings["ShowQueryTextbox"];

помните, что использовать:

ConfigurationManager.AppSettings["MyKey"];

вам нужно добавить ссылку на


проблема возникает при переименовании приложения.Файл конфигурации как AppSettings.Конфиг. Спасибо за руководство и помощь.


Я могу получить вот так:

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

предполагая, что вы добавили его в требуемый файл конфигурации, можете ли вы проверить случай ключа, к которому вы пытаетесь получить доступ, чувствительный к регистру, поэтому, если вы ввели ключ в другом случае, он не будет возвращать ожидаемое значение.


эта ошибка также может возникнуть, если у вас есть appsettings в неправильном файле конфигурации-пример в приложении WCF он должен быть в проекте хостинга


Регистрация Properties.Settings.Default.ShowQueryTextbox.


на ConfigurationManager по - прежнему актуальна-2017 год.

кстати, если вы просто хотите преобразовать значение конфигурации appsettings из строки в bool, используйте Convert.ToBoolean

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

в конфигурации appsettings (web.config)

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

  </appSettings>