繁体   English   中英

程序设置未更新

[英]program settings are not updating

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

string user = Properties.Settings.Default.Username;

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

请有人可以解释发生了什么吗? 我不确定是否需要其他任何信息,但请问是否需要任何其他信息。

可能发生的情况是该设置是用户范围设置,而不是应用程序范围设置。 当您进行了用户范围设置时,settings中的值仅是默认值,如果您运行程序,则会为该用户生成一个user.config文件,它将从user.config文件中读取当前值。

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

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

在此处输入图片说明

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM