Ответ 1
Проблема возникает при переименовании файла App.Config как AppSettings.Config. Спасибо за все рекомендации и помощь.
Я пытаюсь получить значение моего ключа в файле appsettings.Config, но, похоже, не работает.
Вот что я написал для этого. Код вызывается из конструктора файла MDI и возвращается только нулевое значение. Кто-нибудь знает, почему?
var getValue = ConfigurationSettings.AppSettings["ShowQueryTextbox"];
Я также пробовал с ConfigurationManager.AppSettings. Это тоже не сработало.
Мой код AppSettings выглядит следующим образом.
<configuration>
<appSettings>
<add key="ShowQueryTextbox" value="true"/>
</appSettings>
</configuration>
Проблема возникает при переименовании файла App.Config как AppSettings.Config. Спасибо за все рекомендации и помощь.
ConfigurationSettings.AppSettings устарели, попробуйте
ConfigurationManager.AppSettings["ShowQueryTextbox"];
Помните, что для использования:
ConfigurationManager.AppSettings["MyKey"];
Вам нужно добавить ссылку на System.Configuration в свой проект.
Предполагая, что вы добавили его в требуемый файл конфигурации. Можете ли вы проверить случай ключа, к которому вы пытаетесь получить доступ к этому регистру, поэтому, если у вас есть ключ в другом случае, он не вернет ожидаемое значение.
Эта ошибка также может возникнуть, если у вас есть настройки приложения в неправильном файле конфигурации - например, в приложении WCF он должен быть в проекте хостинга
Проверьте Properties.Settings.Default.ShowQueryTextbox
.
ConfigurationManager
все еще обновляется - 2017 год.
Btw, если вы просто хотите преобразовать значение конфигурации appsettings из строки в bool, используйте Convert.ToBoolean
if (Convert.ToBoolean(ConfigurationManager.AppSettings["EnableLoggingInfo"]))
{
log.Info(message);
}
В конфигурации appsettings (web.config)
<appSettings>
<add key="EnableLoggingInfo" value="true" />
</appSettings>
Я могу сделать следующее:
System.Configuration.ConfigurationManager.AppSettings.Get("KEY").ToString();