Я пытаюсь обновить файл app.config во время выполнения. Я получаю сообщение об ошибкеобновить файл app.config во время выполнения
System.NullReferenceException: ссылка на объект не установлена в экземпляр объекта. линия 59.
То, что я пытаюсь сделать, это изменить URL во время выполнения, имея всплывающую форму, которая имеет текстовое поле, которое используется для URL, который затем используются для обновления файла конфигурации.
public void changeSettings()
{
Configuration config =
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationCollection settings = config.AppSettings.Settings;
try
{
Console.WriteLine("nothing " + ConfigurationManager.AppSettings["client_postCodeRef_Service"]);
settings["client_postCodeRef_Service"].Value = textBox1.Text; <- line 59
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("applicationSettings");
Console.WriteLine("nothing 2 " + ConfigurationManager.AppSettings["client_postCodeRef_Service"]);
}
catch (ConfigurationErrorsException e)
{
MessageBox.Show("[Exception error: {0}]",
e.ToString());
}
}
здесь есть конфигурационный файл
<applicationSettings >
<Client.Properties.Settings>
<setting name="client_postCodeRef_Service" serializeAs="String">
<value>http://127.0.0.1/directory/directory/webService.asmx</value>
</setting>
</Client.Properties.Settings>
</applicationSettings>
Тупой вопрос ... Есть ли у Вас ключ «client_postCodeRef_Service» в вашей коллекции AppSettings? Если нет, доступ к свойству Value приведет к тому, что это исключение. –