重新启动 WPF C# 不要杀死以前的进程

Restarting WPF C# don't kill previous process

我在 C# 上使用 WPF 开发应用程序,在某些情况下我需要重新启动应用程序,当我重新启动应用程序时出现问题,但旧进程继续 运行(我可以看到这在任务管理器上)。我怎样才能重新启动应用程序杀死当前进程。在我的代码下方:

函数重启

private void restart()
{
    this.Dispatcher.Invoke((Action)(() =>
    {
        System.Diagnostics.Process.Start(Application.ResourceAssembly.Location);
        Application.Current.Shutdown();
    }));
}

此方法终止此进程并 returns 操作系统的退出代码。

Environment.Exit(0)

您可以设置退出代码参数以指示应用程序是否因错误而关闭(msdn article)。