你好 我有一個關於CodeContracts的小問題。我有一個類庫項目作爲一個類的方法foo(字符串s1,字符串s2); 裏面的foo方法,我有一個Contract.Requires(s1!= null)。 因此,如果我理解我的代碼的含義(是的,我只是安裝CodeContracts並玩:),合同將在構建過程和運行時檢查s1!= null表達式,並引發ArgumentException>。 我想測試行爲,當我從類lib項目中調用foo(null,「test」)時,設計者告訴我這個問題,但是當我從winform應用項目中調用它時,我沒有收到任何警告在錯誤列表窗口中。那麼這是否意味着代碼合同只能在他們居住的項目中工作,而不在外面? 感謝CodeContracts問題
UPDATE
我忘了提,我已經加入了先決條件不靜態分析工作。但是他們會在運行時用合適的消息拋出ArgumentException。
感謝您的回覆和引用。好吧,我有。我在兩個項目中都檢查了它們,但它不起作用。 消息窗口顯示: CodeContracts:檢查0斷言。 有什麼想法嗎? – Davita 2010-11-27 18:10:17
在你的類庫項目上,你是否將`Contract Reference Assembly`設置爲`Build`? – 2010-11-27 19:03:06