Загружаю библиотеку классов WPF MVVM с отражением.
Мне также нужен обработчик исключений, как описано здесь .
Поскольку это размещенное приложение WPF, я не могу использовать App.xaml!
Вот почему я реализовал все необходимое в классе, который загружает мое приложение, как объяснено здесь , в том числе:
Application.Current.DispatcherUnhandledException += new DispatcherUnhandledExceptionEventHandler(Current_DispatcherUnhandledException);
Проблема здесь в том, что когда я выкидываю исключение (из потока фонового работника, кстати), оно не работает хорошо.
По сути, если я вручную выбрасываю исключение NullReferenceException, вызывая Dispatcher.Invoke (чтобы вызвать исключение в потоке пользовательского интерфейса), и когда я попадаю в отладчик Current_DispatcherUnhandledException, то исключение, которое я вижу, не является NullReferenceException, а представляет собой исключительное исключение TargetInvocation с сообщением «Исключение было сгенерировано целью вызова».
Я выяснил, что это исключение может быть вызвано методом invoke, который вызывает рефлексию WPF dll.
Похоже, что NullReferenceException перехватывается "методом вызова библиотеки классов WPF", перед приложением wpf ...
Это сводит меня с ума!
Пожалуйста, помогите!