Я не могу получить доступ к значениям в файле конфигурации.
Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
var clientsFilePath = config.AppSettings.Settings["ClientsFilePath"].Value;
// the second line gets a NullReferenceException
Файл .config :
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<appSettings>
<!-- ... -->
<add key="ClientsFilePath" value="filepath"/>
<!-- ... -->
</appSettings>
</configuration>
Есть ли у вас какие-либо предложения, что мне делать?
System.Configuration
.System.Configuration
не имеетConfigurationManager
Ответ, который дал дцг работает:
НО, вам нужно добавить ссылку на сборку
Перейдите в окне Solution Explorer и щелкните правой кнопкой мыши на References и выберите Добавить ссылку . Выберите вкладку « Сборки » и найдите « Конфигурация» .
Вот пример моего App.config :
Который вы можете получить следующим образом:
источник
System.configuration
(строчные буквы).Дайте этому попробовать:
источник
Читать из конфигурации:
Вам нужно будет добавить ссылку на Config
Сохранить в конфигурации:
источник
null
строку с вышеуказанными рекомендациями, ноProperties.Settings.Default.<keyName>
работал как шарм!Я использую:
Где value1 = ... и value3 = ... дает ноль, а value2 = ... работает
Затем я решил заменить внутренний app.config на:
Использование VS2012 .net 4
источник
В
app/web.config
файле задайте следующую конфигурацию:тогда вы можете получить доступ к этому в своем коде, вставив в эту строку:
* Обратите внимание, что это отлично работает для
.net4.5.x
и.net4.6.x
; но не работают на.net core
. С наилучшими пожеланиями: Рафаэльисточник
Возвращаясь к этому после долгого времени ...
Учитывая упадок ConfigurationManager, для тех, кто все еще ищет ответ на эту попытку (например):
Требуется System.Configuration конечно.
(Отредактировал код так, чтобы он действительно работал и его было проще читать)
источник
Видите, я сделал то, что мне показалось очевидным:
Пока он компилируется, он всегда возвращает ноль.
Это однако (сверху) работает:
источник
Некоторые из ответов, кажется, немного от ИМО Вот мой взгляд около 2016 года
Убедитесь, что
System.Configuration
ссылка.Вопрос задает вопрос о значении ключа appsettings
Что, безусловно, ДОЛЖНО быть
Вот поворот, в котором вы можете сгруппировать значения (не для этого вопроса)
emails
будет значением ключа среды + "_Emails"источник
Для веб-приложения я обычно пишу этот метод и просто вызываю его ключом.
источник
Вы можете просто напечатать:
потому что
key
является объектом иAppSettings
принимает строкуисточник
источник
Или вы можете использовать
источник
Мой простой тест также не удался, следуя советам других ответов здесь - пока я не понял, что конфигурационный файл, который я добавил в мое настольное приложение, получил имя «App1.config». Я переименовал его в «App.config», и все сразу заработало как надо.
источник
КОД БУДЕТ СОЗДАН АВТОМАТИЧЕСКИ
Чтобы получить значение
Properties.Settings.Default.Name
ИЛИ
Properties.Settings.Default [ "имя"]
источник