2013-11-04 63 views
3

我對我的項目使用NHibernate和Enterprise Library。我做了一些諸如new UnityContainerConfigurator(_container),_container.RegisterInstance(instance)var configuration = new NHibernate.Cfg.Configuration()這樣的調用,它們導致VS在拋出內部異常時停止(前兩個拋出SynchronizationLockException,最後一個拋出BindingFailure)。我的代碼中沒有引發內部異常

如果我按F5,它跳過這個異常並繼續運行,所以我假設這些發生在庫內部並被處理。但我不知道爲什麼VS不斷告訴我這些。

我打開了「啓用只是我的代碼」選項。據我瞭解,如果啓用此選項,這些例外應該不會中斷執行,因爲它們在我使用的庫內部,但實際上並非如此。

在例外窗口(Ctrl + Alt + E)我有所有標記爲「Thrown」的異常。但這實際上就是我需要的 - 我想在我的代碼中發生異常的通知,但不是庫中的代碼。我不想取消這個配置或者過濾異常打擾我並檢查出來。

任何想法如何實現所需的行爲?

+0

「Just My Code」隻影響調試器進入的代碼 - 它不會過濾它所停止的異常,據我所知。 –

+0

@DStanley我應該考慮的其他選項? – Archeg

+0

我知道的唯一選項是過濾異常並檢查/關閉單個異常類型。 –

回答

1

從頂部菜單,選擇調試菜單項;然後選擇例外。確保選中了「公共語言運行時例外」。

有關SynchronizationLockException和Unity Container的更多信息,請參閱this so question

+0

感謝您的回答。他們被檢查。這正是導致問題的原因。但我不想取消選中它們 - 這項檢查非常有用。至於這個問題的鏈接,謝謝 - 這個很有趣。它並沒有解決我所遇到的問題,但我絕對必須更多地考慮這個問題。 – Archeg

相關問題