程序设置未更新

program settings are not updating

我已经创建了我的 c# winforms 应用程序,并且在属性中,settings.settings 我已经将一个字符串声明为 "user"。当我第一次运行该应用程序时,我可以使用以下代码成功读取它:

string user = Properties.Settings.Default.Username;

我可以为用户名保存新值并在代码中再次读取它们。但是当我更改 settings.settings 中的值并启动我的程序进行调试时(例如将其更改为 "NoLiver"),它不使用新文本,它仍然读取为 "user" 而不是 "NoLiver"。我不明白为什么会这样,因为我的其他程序没有这样做。

有人能解释一下这是怎么回事吗?我不确定您是否需要任何其他信息,但请询问您是否需要。

可能发生的情况是设置是用户范围设置而不是应用程序范围设置。当你有一个用户范围设置时,设置中的值只是 default 值,如果你 运行 你的程序为用户生成了一个 user.config 文件将从 user.config 文件中读取当前值。

您有两个选择,将 Username 更改为应用程序范围的设置或更改程序集的版本号,这将导致生成新的设置文件并将恢复为默认值(如果您不希望它返回默认值,请在您的设置 class 上调用 Upgrade() 一次,它将检查旧版本并从程序的先前版本复制设置)

编辑: 你还有一个选择,如果这只是为了调试点击 Settings.settings 中的 Synchronize 按钮,这将删除用户从您的硬盘驱动器设置文件,下次您 运行 程序时它将再次使用默认值。