我收到未處理的異常在我的應用程序,當我關閉最後一個窗口時:未處理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 。 –