Я пытаюсь зафиксировать ошибку в файле App.config при запуске приложения, но не получаю. Все глобальные события ошибок (такие как AppDomain.CurrentDomain.UnhandledException или Application.DispatcherUnhandledException) не работают, чтобы перехватить файл App.Config неправильного формата, даже если метод OnStartup App.xaml не вызывается, приложение аварийно завершает работу раньше.
Пример недопустимого файла app.config:
<configuration>
<configSections>
<section name="XXXX" type="TesteAssembly.MainSpace, TesteAssembly" />
</configSections>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
</configuration>
Однако я обнаружил, что если файл App.config имеет неправильный формат, для создания экземпляра класса Application создается исключение. Таким образом, единственным решением, которое я нашел, было удалить App.xaml, создать класс с основным методом и вручную запустить экземпляр Application (базовый класс App.xaml).
пример:
[STAThread]
public static void Main(string[] args)
{
try
{
Application p = new Application();
p.StartupUri = new Uri("MainWindow.xaml", UriKind.Relative);
p.Run();
}
catch (Exception)
{
throw;
}
}
Есть другой выход из этой ситуации?