.NET WPF,从.NET 4升级到4.5.2,用户设置中断

.NET WPF,从.NET 4升级到4.5.2,用户设置中断,.net,wpf,settings,upgrade,.net,Wpf,Settings,Upgrade,我最近刚刚将我的WPF应用程序从.NET4升级到.NET4.5.2。到目前为止,除了一个例外,一切似乎都过渡得很好 我有一个设置文件,当我从应用程序的旧版本(运行.NET 4)升级到新版本(运行.NET 4.5.2)时,它拒绝保存更改。我不知道是什么原因导致它破裂。我相信更多的细节会有帮助,但我甚至不确定这里应该包括哪些有用的内容 任何帮助都将不胜感激 编辑:所谓“就地”升级,我指的是自动升级,即启动旧应用程序,它与服务器通信,并在启动时升级应用程序 我刚刚意识到,如果在“就地”升级发生后关闭应

我最近刚刚将我的WPF应用程序从.NET4升级到.NET4.5.2。到目前为止,除了一个例外,一切似乎都过渡得很好

我有一个设置文件,当我从应用程序的旧版本(运行.NET 4)升级到新版本(运行.NET 4.5.2)时,它拒绝保存更改。我不知道是什么原因导致它破裂。我相信更多的细节会有帮助,但我甚至不确定这里应该包括哪些有用的内容

任何帮助都将不胜感激

编辑:所谓“就地”升级,我指的是自动升级,即启动旧应用程序,它与服务器通信,并在启动时升级应用程序


我刚刚意识到,如果在“就地”升级发生后关闭应用程序并重新启动,那么用户设置将继续正常工作。这只是升级后的第一次运行,他们无法保存/更改。

我没有找到发生这种情况的原因,只是找到了。因为我发现它只是在升级后第一次运行时破坏了设置,所以我决定在升级应用程序时强制重新启动

我只找到了一种方法来重新启动正常工作的clickonce应用程序。看

要检查是否发生升级,请在我的App.xaml.cs中检查IsNetworkDeployed,确保CurrentDeployment不为null,然后检查在有人登录应用程序后设置的用户设置。用户设置检查确保新安装(与升级相反)不会触发重新启动

private bool ApplicationUpdated()
{
    return ApplicationDeployment.IsNetworkDeployed && ApplicationDeployment.CurrentDeployment.IsFirstRun && userSettingsService.LastOnline != default(DateTime);
}

您可以在开头包含拒绝消息。并描述“就地”的实际含义。