更改值后更新配置文件

时间:2017-10-04 08:20:43

标签: c# wpf configuration

我在按钮点击时更新配置文件中的一个设置。我发现的代码很容易理解,我相信它的工作原理。但问题在于更新配置文件中的部分或写入部分。

所以在按钮上点击它会通过这个方法:

private static void UpdateSetting(string key, string value)
{
    Configuration configuration = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
    configuration.AppSettings.Settings[key].Value = value;
    configuration.Save();

    ConfigurationManager.RefreshSection("applicationSettings");
}

这是我的配置文件中的targetet部分:

 <applicationSettings>
  <UpdatePackager.Properties.Settings>
   <setting name="Sourcepath" serializeAs="String">
    <value>D:\PMSmart</value>
   </setting>
   <setting name="DestinationpathUpdatePackages" serializeAs="String">
    <value>D:\xxx</value>
   </setting>
   <setting name="DestinationpathClient" serializeAs="String">
    <value>D:\xxx</value>
   </setting>
   <setting name="Versions" serializeAs="String">
    <value>v5_9_0/v5_9_1/v5_9_2</value>
   </setting>
  </UpdatePackager.Properties.Settings>
 </applicationSettings>

我错过了什么或做错了什么事吗?

1 个答案:

答案 0 :(得分:2)

.config的输出目录中的.exe文件应该更新,而不是项目文件夹中的文件。

构建应用程序并再次运行时,修改后的配置文件将被项目文件夹中的文件覆盖。

在运行期间检查.configbin/Debug文件夹中的bin/Release文件中的值,您应该看到在UpdateSetting方法执行后它已更新