#c# #configuration
#c# #конфигурация
Вопрос:
Я впервые использую файл конфигурации XML. В обозревателе решений я щелкаю правой кнопкой мыши «Добавить», «новый элемент», «конфигурация приложения». файл.
Затем я отредактировал файл для чтения…
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<add key="Key1" value="1000" />
</appSettings>
</configuration>
… и попытался получить к нему доступ с помощью…
Int32.Parse(ConfigurationManager.AppSettings.Get("Key1"));
…но в нем говорится, что параметр равен null. Я посмотрел только на то, что ConfigurationManager.AppSettings
и это AllKeys
свойство имеет размерность 0.
Что я делаю не так?
Спасибо!
Ответ №1:
-
Щелкните правой кнопкой мыши на вашем проекте, выберите Свойства> Вкладка Настройки и отредактируйте свои настройки там, потому что файл конфигурации — не единственное место, где хранятся эти значения.
-
В вашем коде используйте
Settings.Default.MySetting
для доступа к настройкам.
Вам нужно будет добавить using MyProjectName.Properties;
в свои инструкции using, чтобы получить доступ к настройкам таким образом, или вам придется полностью квалифицировать это как MyProjectName.Properties.Settings.Default.MySetting
…
Комментарии:
1. Есть какая-либо причина, почему ConfigurationManager. AppSettings нельзя использовать?
Ответ №2:
Я знаю, что это очень старое, но я только что столкнулся с этим при открытии старого проекта. Ссылка на System.Configuration
отсутствовала.
Ответ №3:
Чтобы гарантировать получение информации от App.config
использования ConfigurationManager.AppSettings["<Key name>"];
, обязательно установите свои значения внутри <appSettings>
раздела.
Пример:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
<appSettings>
<add key ="IntervalSeconds" value ="60000"/>
<add key ="OutputPathLog" value ="\myserverhackingtrackProjectsLog"/>
<!--Jorgesys si Elenasys sunt puisori-->
<add key="InputFeeds1" value="https://cld.blahbla.com//portadaKick.json" />
<add key="InputFeeds2" value="https://cld.blahbla.com//portadaKick.json" />
<add key="InputFeeds3" value="https://cld.blahbla.com//portadaKick.json" />
</appSettings>
</configuration>
Извлечение значений:
string intervalSeconds = ConfigurationManager.AppSettings["IntervalSeconds"];
string inputFeeds1 = ConfigurationManager.AppSettings["InputFeeds1"]; ;
string inputFeeds2 = ConfigurationManager.AppSettings["InputFeeds2"];
string inputFeeds3 = ConfigurationManager.AppSettings["InputFeeds3"];