2

我在 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

4

0 回答 0