我在 c# 中使用 ApplicationSettingsBase 系统存储一些用户设置。
一切正常,除非我更新到新版本。在这种情况下,始终使用默认设置(App.Conf)。
我已经创建了一个 UpdateSettings (Default true) 设置:
public MainWindow() {
if (Properties.Settings.Default.UpdateSettings) {
Properties.Settings.Default.Upgrade();
Properties.Settings.Default.UpdateSettings = false;
Properties.Settings.Default.Save();
}
运行这部分代码时,会在\AppData\Local\Company\NameOfSoftware_Url_somehash\versionnumber
. 有时哈希值不同,因此会创建一个新文件夹。在这个新创建的配置文件中,只写了 1 个条目:
<configuration>
<userSettings>
<XXX.Properties.Settings>
<setting name="UpdateSettings" serializeAs="String">
<value>False</value>
</setting>
</XXX.Properties.Settings>
</userSettings>
</configuration>
当我关闭程序时,将保存 app.Conf 文件中的默认设置。
我究竟做错了什么。
我正在使用 .net 框架 4.0