无法使用ConfigurationManager更新App.Config

时间:2015-11-05 13:39:34

标签: c# app-config configurationmanager

我正在构建一个基于C#的DLL,将由另一个exe用于启动用户应用程序。 GUI具有丰富的参数/值类型的设置。我需要保存GUI的设置并在用户需要时加载。我正在尝试使用App.Config以下面的格式保存。 加载部分按如下方式实现,并使用样本元素进行测试:

Configuration config = ConfigurationManager.OpenExeConfiguration(this.GetType().Assembly.Location);

System.Configuration.AppSettingsSection appSettings = (System.Configuration.AppSettingsSection)config.GetSection("Test1");           

if (appSettings.Settings.Count != 0)
{
  string m_bits = appSettings.Settings["Key1"].Value;
}

但是在保存部分中,我使用了类似的方法,如下所示:

Configuration configuration = ConfigurationManager.OpenExeConfiguration(this.GetType().Assembly.Location);

System.Configuration.AppSettingsSection appSettings5 = (System.Configuration.AppSettingsSection)configuration.GetSection("Test1");

if (ConfigurationManager.AppSettings[key] == null)
{
  configuration.AppSettings.Settings.Add(key, value);
}
else
{
  configuration.AppSettings.Settings[key].Value = value;
}

configuration.Save();

我收到一个错误,即分组或群组名称' appSettings'已定义。对此的更新可能仅发生在定义它的配置级别。

基本上,我想将配置从GUI保存到APP.Config,并在用户想要的时候加载相同的内容?虽然这样做我想只更新APP.Config并且不想创建/清除现有内容。

其实我想知道以下输入。请建议

  1. 如果这是加载/保存App.Config的正确方法。
  2. 我应该使用XmlDoc方法吗?
  3. 由于

0 个答案:

没有答案