我使用本地设置存储应用程序用户的用户名和密码。
目的:当用户点击“记住我”时,它会存储在本地。当用户重新启动应用程序时,它将从本地设置获取并显示。
MyApplication.Properties.Settings.Default.UserName = "john";
//从登录表单获取
MyApplication.Properties.Settings.Default.Password = "jonh@123";
//从登录表单
如果应用程序连续运行,这工作正常。但是,如果我安装应用程序的升级版本,则表现不正确。此MyApplication.Properties.Settings.Default.UserName返回较旧的用户名。
如果我再次安装另一个升级版本,它将返回我之前使用过的任何其他用户名。
有人可以提出我在这里缺少的东西吗?
答案 0 :(得分:2)
试试这个。创建一个名为UserSettingsUpgradeRequired
的设置,将其值设置为true,并在启动时进行检查。如果它是真的那么这是新版本的第一次运行,所以调用Settings.Default.Upgrade();
private static void CheckUserSettingsUpgradeRequired()
{
if (Settings.Default.UserSettingsUpgradeRequired)
{
Settings.Default.Upgrade();
Settings.Default.UserSettingsUpgradeRequired = false;
Settings.Default.Save();
}
}