【发布时间】:2016-05-10 11:09:12
【问题描述】:
我使用本地设置来存储应用程序用户的用户名和密码。
目的:当用户点击记住我检查时,它存储在本地。当用户重新启动应用程序时,它会从本地设置中获取并显示。
MyApplication.Properties.Settings.Default.UserName = "john"; //从登录表单获取
MyApplication.Properties.Settings.Default.Password = "jonh@123"; //从登录表单获取
如果应用程序连续运行,这可以正常工作。但是如果我安装应用程序的升级版本,它的行为就会不正确。此 MyApplication.Properties.Settings.Default.UserName 返回旧用户名。
如果我再次安装另一个升级版本,它会返回我以前使用过的任何其他用户名。
有人可以建议我在这里缺少什么吗?
【问题讨论】:
-
你打电话给
MyApplication.Properties.Settings.Default.Save()吗? -
是的。每当部署应用程序的新版本时,就会出现问题。在这种情况下,用户配置文件中会使用一个新文件夹来存储设置。必须显式调用
Settings.Default.Upgrade将以前的值复制到新文件中。 -
@ThorstenDittmar 我可以按照您的建议调用升级设置,但我不知道如何才能知道我的应用程序已升级?你能推荐一下吗?
-
@NanjiMange 阅读巴里的回答。这是正确的解决方案。
-
@ThorstenDittmar 我已经用建议的方式发布了我的代码。请查看:stackoverflow.com/questions/37139383/…
标签: c# visual-studio-2013