I have a config file app.exe.config and appSettings section has something like this:
<configuration>
<appSettings configSource="app.file.config" />
</configuration>
app.file.config file has something like this:
<?xml version="1.0" encoding="utf-8" ?>
<appSettings>
<add key="var1" value="value 1" />
<add key="var2" value="value 2" />
<add key="var3" value="value 3" />
</appSettings>
I need to edit var1, var2 and var3 at runtime and I have code like this:
Configuration config = ConfigurationManager.OpenExeConfiguration("...path\app.exe);
config.AppSettings.SectionInformation.ConfigSource = "app.file.config";
config.AppSettings.Settings["var1"].Value = "value 11";
config.AppSettings.Settings["var2"].Value = "value 22";
config.AppSettings.Settings["var3"].Value = "value 33";
config.Save(ConfigurationSaveMode.Modified);
ConfigurationManager.RefreshSection("appSettings");
When I run config.Save.... the file app.file.config has a appSettings node with an attribute "file". This attribute has the value to app.file.config
<appSettings file="app.file.config">
<add key="var1" value="value 1" />
<add key="var2" value="value 2" />
<add key="var3" value="value 3" />
</appSettings>
Now, if I try to load the config file, I have an exception with message "Unrecognized attribute 'file'. Note that attribute names are case-sensitive." in app.file.config.
If I delete the file attribute manually, the configuration file is loaded properly.
Any ideas?
How can avoid to write file attribute when I save config files.
Thanks