我收到未处理的异常在我的应用程序,当我关闭最后一个窗口时:未处理NullReference异常关闭的WPF应用程序
型“System.NullReferenceException” 未处理的异常发生在PresentationFramework.dll
附加信息:对象引用未设置为 对象的实例。
只有在应用程序的生命周期中,我通过已设置的特定进程打开子窗口时才会发生这种情况。该窗口存在于另一个程序集中,该程序集在运行时用MEF动态加载,然后用Castle实例化。如果我然后调用某个方法,它会创建一个新的STA线程并打开一个WPF对话窗口。
一些注意事项:
- 这只是发生在某些机器/环境(我不能够辨别虽然模式)
- 我对调度员在该应用中UnhandledException处理其捕获所有的未处理的例外。这并没有被抓住。
调用堆栈是:
PresentationFramework.dll!MS.Internal.Controls.ConnectionPointCookie.Disconnect()
PresentationFramework.dll!MS.Internal.Controls.ConnectionPointCookie.Finalize()
有没有人见过这个,还是会有人知道如何调试呢?奇怪的是,没有调用堆栈,并且在程序退出时发生。
我认为你需要编辑这个问题,在你的app.xaml文件中包含ShutdownMode。 –
'ShutdownMode'属性设置为'OnMainWindowClose',但是在启动过程中会有几个对话框可以触发,所以在应用程序启动过程中它会暂时切换到'OnExplicitShutdown',但它总是**切换回**到主窗口打开之前的'OnMainWindowClose'。 – qJake
我不知道是什么导致异常,但我会尝试通过从重定向Stderr/Stdio流的另一个应用程序中启动它进行调试,并且希望(绝对*希望*)在这些流中存在一个可以提供线索的artefact 。 –