C# 将appSettings保存到外部文件

C# 将appSettings保存到外部文件,c#,winforms,app-config,appsettings,C#,Winforms,App Config,Appsettings,我需要将appSettings保存在单独的文件和父目录中,并在运行时保存: Bin/app.config: <appSettings file="../Configuration/appSettings.config"> <add key="commonSetting" value="123"/> </appSettings> 我无法使用configSource属性,因为外部文件必须位于Bin的子目录中 (在施工中提出类似问题,但不是相同的施工) 你知道

我需要将appSettings保存在单独的文件和父目录中,并在运行时保存:

Bin/app.config:

<appSettings file="../Configuration/appSettings.config">
  <add key="commonSetting" value="123"/>
</appSettings>
我无法使用
configSource
属性,因为外部文件必须位于Bin的子目录中

(在施工中提出类似问题,但不是相同的施工)

你知道如何解决这个问题吗

编辑

我还尝试使用此setter,同样的意外结果:

System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["externalSetting"].Value = "DEF";
config.Save();

将appsettings文件存储在DB中。作为一个选项,您可以使用自定义xml或json文件来存储configuration@PavelAnikhouski这是一个解决办法吗?你能写一个答案来解释吗?@sinsedrix我有一个例子,如何将设置存储在
json
文件中的任何位置,以及围绕它的自定义包装器。它使用
Newtonsoft
库,与
System.Configuration
无关。如果有帮助的话,我可以发布详细信息
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
ConfigurationManager.AppSettings["externalSetting"] = "DEF";
config.Save();
System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
config.AppSettings.Settings["externalSetting"].Value = "DEF";
config.Save();