В настоящее время я работаю над приложением WPF, которое в данный момент находится в производстве, и у нас есть случай, когда у двух пользователей произошел сбой при запуске приложения, который я до сих пор не могу объяснить.

Приложение показывает первый вид приложения и отображается правильно (поэтому служба перевода работает, это означает, что приложение, кажется, правильно инициализировано, IoC инициализирован и т. Д.), Ошибка отображается одновременнонажатие на кнопку ОК закрывает приложение.
Странно то, что это первый произошедший сбой, который ничего не записывал в наши файлы журналов.Мы добавили событие в DispatcherUnhandledException
в App.xaml.cs
, чтобы регистрировать исключения, которые не управляются на уровне моделей представлений, и регистрировать их, а также безопасно завершать работу приложения.Вот подробное событие:
private void App_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e)
{
e.Handled = true;
if (!isFatalErrorCatched)
{
isFatalErrorCatched = true;
try
{
var logger = Mvx.Resolve<ILogManager>().GetLogger(this.GetType());
logger.Error(e.Exception);
}
catch
{
// Avoid propagation of exception
}
#if DEBUG
#pragma warning disable S2228
Console.Write(e.Exception.Message);
#pragma warning restore S2228
#endif
MessageBox.Show("Your application encountered a fatal error and cannot continue.", "Application Crash", MessageBoxButton.OK, MessageBoxImage.Error);
this.Shutdown();
}
}
Обратите внимание, что логическое значение isFatalErrorCatched
здесь, чтобы избежать многократного возникновения ошибки.Мы добавляем событие во время Application_Startup
в App.xaml.cs
this.DispatcherUnhandledException += App_DispatcherUnhandledException;
Мы перепробовали много вещей, таких как:
- Восстановление .NET
- Восстановление реестра
- Сравнение .dll в папке установки
- Посмотрите на Event Viewer окон (там тоже ничего не видно)
Вот некоторая дополнительная информация о том, что мыиспользуете в приложении, если оно предоставляет какую-либо дополнительную помощь:
- MvvmCross 4.2.2
- .NET 4.5.1
Пользователи в Windows10.
Я скоро проведу сеанс удаленного управления с пользователем, и я смогу увидеть его машину более подробно.Я попытаюсь использовать ProcDump, чтобы узнать, могу ли я иметь какую-либо информацию с этим.Я также попытаюсь запустить другое приложение .NET 4.5.1, чтобы выяснить, связано ли это с его установкой .NET или само приложение.
Есть ли другой способ исследования этой проблемы?
Спасибо за помощь.
ЗАКЛЮЧИТЕЛЬНОЕ РЕДАКТИРОВАНИЕ: - У двух пользователей с проблемами был отформатирован компьютер, с тех пор проблема больше не была замечена на данный момент.