Wpf ClickOnce应用程序:应用程序重新启动后版本和设置丢失

Wpf ClickOnce应用程序:应用程序重新启动后版本和设置丢失,wpf,clickonce,Wpf,Clickonce,我有一个C#/WPF应用程序,它使用ClickOnce进行部署。有一种情况下,应用程序需要重新启动(用户更改数据库)。我通过以下方式做到这一点: System.Diagnostics.Process.Start(System.Windows.Application.ResourceAssembly.Location); System.Windows.Application.Current.Shutdown(); 重新启动后,应用程序似乎出现问题: 该版本将变为1.0.0.0 当前数据库设置设置

我有一个C#/WPF应用程序,它使用ClickOnce进行部署。有一种情况下,应用程序需要重新启动(用户更改数据库)。我通过以下方式做到这一点:

System.Diagnostics.Process.Start(System.Windows.Application.ResourceAssembly.Location);
System.Windows.Application.Current.Shutdown();
重新启动后,应用程序似乎出现问题:

  • 该版本将变为1.0.0.0
  • 当前数据库设置设置为默认值(它位于应用程序的Properties.Settings中)

  • 我不知道我是否完全理解这个问题,但我知道如果应用程序是ClickOnce应用程序,则您用于重新启动该应用程序的方法存在问题。以这种方式重新启动应用程序时,
    ApplicationDeployment.IsNetworkDeployed
    将为
    false
    。有关完整的解释,请参阅本文:


    我还没有验证重新启动应用程序的正确方法,但我会尽快更新它。

    最后建议的方法确实是重新启动WPF ClickOnce应用程序的方法。遗憾的是,这意味着您必须引用
    WinForms.dll
    。感谢您为我验证这一点。明天之前我不会在办公室亲自检查。您必须引用
    WinForms
    ,这确实是一个令人遗憾的事实。那真的让我口齿不清。