如何使用C#重启我的WPF应用程序?
答案 0 :(得分:26)
我认为WPF中没有像WinForms中那样的直接方法。但是,您可以使用Windowns.Form
命名空间中的方法,如下所示:(您可能需要添加对System.Windows.Form
程序集的引用)
System.Windows.Forms.Application.Restart();
System.Windows.Application.Current.Shutdown();
答案 1 :(得分:9)
以下是我找到的最佳解决方案,您不需要添加对System.Windows.Forms的引用,而是需要添加已经具有对其程序集的引用的名称空间System.Diagnostics
: / p>
Process.Start(Application.ResourceAssembly.Location);
Application.Current.Shutdown();
答案 2 :(得分:6)
代码
Process.Start(Application.ResourceAssembly.Location);
不适用于.NET Core 3.1应用程序。改为使用
using System.Diagnostics;
using System.Windows;
...
Process.Start(Process.GetCurrentProcess().MainModule.FileName);
Application.Current.Shutdown();
这也适用于.NET Framework应用程序。
答案 3 :(得分:3)
您可以使用Windows API Code Pack的重启和恢复API。请注意,这是一个新API,因此它只适用于当前的操作系统(即:Windows 7)。