все
Я пишу приложение на C #, которое обрабатывает все необработанные исключения в основной процедуре:
static void Main()
{
try
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new MainFrame());
}
catch (Exception e)
{
CrashReporter.Report(e);
}
}
И когда я запускаю приложение (даже Release build) из visual studio, оно работает.
Но когда я публикую его как щелчок один раз и установлю, в большинстве случаев исключения не будут зафиксированы в функции Main. А стек исключений выглядит примерно так:
...
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
т.е. Главное даже не в стеке ...
Почему это происходит?
Есть ли способ сделать такую вещь «поймать все»?
Почему поведение публикации и локальной сборки отличается?
Спасибо заранее
Serge