2016-12-01 11 views
0

Я недавно создал приложение, работающее на нескольких клиентских машинах. Приложение запускается при запуске окна. В этом приложении я изменяю некоторые параметры времени выполнения приложения, обращаясь к нему, используя следующий метод. ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None)Catch application exe config file error

Иногда (Не знаю, почему ??), конфигурационный файл будет поврежден и сбой приложения на перезагрузки системы следующее сообщение

application failed to start because its side-by-side configuration is incorrect

Я хочу, чтобы поймать это исключение. Я попытался поставить try-catch блок в main() метод приложения, но все же исключение не обрабатывается, и эти странные окна сообщений приходят.

Как я могу обращаться с corrupted config file?

+0

Если это служба Windows, должен быть метод OnStart(). – MikkaRin

+0

Как выглядит поврежденный файл конфигурации? – rene

+0

На самом деле это не сервис окна, а начало запуска окна. –

ответ

0

Попробуйте зарегистрировать глобальный обработчик исключений для вас appDomain при запуске программы, например. в вашем app.xaml:

var currentDomain = AppDomain.CurrentDomain; 
currentDomain.UnhandledException += GlobalUnhandledExceptionHandler; 

В GlobalUnhandledExceptionHandler обработчика событий вы можете зарегистрировать ошибку или показать пользователю сообщение о том, что файл конфигурации не работает.

Это не помешает вашему приложению отключиться, но, по крайней мере, вы знаете больше, чем «бок о бок конфигурация сломана».