Мне нужно перезапустить приложение, как только произойдет необработанное исключение.
Это приложение .NET WinForm.
[STAThread]
static void Main()
{
try
{
Application.ThreadException += new ThreadExceptionEventHandler(Application_ThreadException);
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainForm());
}
catch (SystemException ex)
{
Log.AddEntry(ex.Message);
}
}
static void Application_ThreadException(object sender, ThreadExceptionEventArgs e)
{
Console.WriteLine(e.Exception.Message);
Application.Exit();
System.Diagnostics.Process.Start(Environment.CurrentDirectory+"\\Taskman.exe");
}
Я специально выбрасываю исключение нажатием кнопки. Когда я тестирую версию релиза на моей машине, она закрывается, а затем перезапускается нормально. Но когда я развернул его на производственной машине, это не так.
Есть идеи?
Спасибо.