Как получить значение ключа из файла AppSettings.Config? - PullRequest
25 голосов
/ 21 июля 2011

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

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

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

Я также пытался с ConfigurationManager.AppSettings. Это тоже не сработало.

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

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

Ответы [ 8 ]

25 голосов
/ 21 июля 2011

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

ConfigurationManager.AppSettings["ShowQueryTextbox"];
13 голосов
/ 02 мая 2014

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

ConfigurationManager.AppSettings["MyKey"];

Вам необходимо добавить ссылку на System.Configuration в ваш проект.

4 голосов
/ 21 июля 2011

Проблема возникает при переименовании файла App.Config в AppSettings.Config.Спасибо за все указания и помощь.

1 голос
/ 06 декабря 2017

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

System.Configuration.ConfigurationManager.AppSettings.Get("KEY").ToString();
0 голосов
/ 26 октября 2017

ConfigurationManager все еще актуален - 2017 год.

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

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

В настройках вашего приложения (web.config)

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

  </appSettings>
0 голосов
/ 04 февраля 2017

Чек Properties.Settings.Default.ShowQueryTextbox.

0 голосов
/ 23 июля 2013

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

0 голосов
/ 21 июля 2011

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

...