2
我們在代碼庫中使用Microsoft的代碼合同。代碼合同運行時檢查異常
一個項目中有Contract.Requires
個語句,沒有發佈具有「Perform Runtime Contract Checking」複選框的構建配置。
當發佈版本碰到Contract.Requires
語句時,會生成一個異常。這最終會慢慢上升,並在使用代碼合同的Web服務中導致System.ServiceModel.CommunicationException
。
在例外情況**中沒有任何跡象表明這是代碼合同問題。
有沒有什麼方法可以揭示這是一個代碼合同問題?
該問題已通過勾選發佈版本配置的「執行運行時合同檢查」複選框得到解決,但最好還是在運行時提供更好的診斷信息。
**仍在努力挖掘到內部異常。
東西似乎很腥。當禁用運行時檢查時,重寫器應該在構建期間完全剝離合同語句。你確定需求是否真的在哪裏失敗?我很想知道最內在的例外是什麼。我知道Code Contracts庫的某些版本會搞亂調試,突出顯示錯誤的行等等。我不知道這是否仍然如此,但也許這就是你所看到的? –
真的嗎?哇。有趣的信息,謝謝!仍在挖掘內部異常。 –
我認爲內部例外是告訴你,你沒有啓用重寫器。 – porges