C# 在运行时更新app.config文件
我正在尝试在运行时更新app.config文件。我得到了错误 System.NullReferenceException:对象引用未设置为对象的实例。第59行 我试图做的是在运行时更改url,通过使用一个弹出表单,其中包含一个用于url的文本框,然后使用该文本框更新配置文件C# 在运行时更新app.config文件,c#,web-services,app-config,C#,Web Services,App Config,我正在尝试在运行时更新app.config文件。我得到了错误 System.NullReferenceException:对象引用未设置为对象的实例。第59行 我试图做的是在运行时更改url,通过使用一个弹出表单,其中包含一个用于url的文本框,然后使用该文本框更新配置文件 public void changeSettings() { Configuration config = ConfigurationManager.OpenExeConfig
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());
}
}
public void changeSettings()
{
配置配置=
ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
KeyValueConfigurationCollection设置=config.AppSettings.settings;
尝试
{
Console.WriteLine(“nothing”+ConfigurationManager.AppSettings[“client\u postCodeRef\u Service”]);
设置[“客户端\邮政编码参考\服务]。值=textBox1.Text;您正在使用的是应用程序设置
而不是应用程序设置
这两个部分是配置文件的不同部分
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());
}
}
要在应用程序设置中使用条目,请使用以下语法:
string result = Client.Properties.Settings.Default.client_postCodeRef_Service;
还请注意,您无法从程序内部轻松更改应用程序设置项的值。
详细讨论应用程序设置和应用程序设置的优缺点愚蠢的问题……您是否有“客户端邮政编码参考”服务键入你的appSettings集合?如果没有,访问它的Value属性将引发该异常。谢谢steve。这是我第一次使用配置文件,你提到的讨论澄清了这一点。