使用Squirrel.Windows,我想使用以下代码在我的 WPF 应用程序的Application Exit 处理程序中处理更新过程:
Task.Run(async () =>
{
using (var mgr = new UpdateManager(Settings.Default.UpdatePath))
{
var release = await mgr.UpdateApp();
if (release != null && release.Version > Assembly.GetEntryAssembly().GetName().Version)
{
MessageBox.Show("Update applied");
}
}
});
如果我在启动时调用它,或者在执行期间在事件处理程序上调用它,则这段代码可以工作,但不能在这样定义的 Application Exit 事件处理程序中调用:
应用程序.xaml:
<Application
...
Exit="Application_Exit"
...
应用程序.xaml.cs:
void Application_Exit(object sender, ExitEventArgs e)
{
...
}
它是 Squirrel.Windows 的限制吗?或者有什么特别的事情可以使用应用程序退出事件处理程序中提供的代码吗?