2016-10-13 14 views
0

私は、ライブラリを生成する契約(プロジェクトA)と、そのライブラリからインタフェースを実装するもう1つ(プロジェクトB)のプロジェクトを持っています。異なるプロジェクトでのコード契約

プロジェクトAからプロジェクトBに契約ファイルをコピーしようとしましたが、契約は問題なく実行時に起動します。しかし、私はプロジェクトBからプロジェクトAを参照しようとしています。スタティックアナライザはまだ動作していますが、ランタイムチェックはもはや機能しません。

何か間違っていますか?コード契約の仕組みについて私が理解していないことはありますか?重要

答えて

0

これは、ここで議論されました - CodeContracts issue

は、新しいソリューションで同様のプロジェクト構造を複製します。すべてが問題なく動作しました。私はまだ生産ソリューションの問題を見つけることができませんでした。

私は新しいCompanyName.ContractsDebugライブラリを作成しました。一部のテスト契約の実装では、そのライブラリを使用するときにランタイムチェックが実行されました。その後、私は愚かな修正に行きました、私は古い契約プロジェクト(CompanyName.Contracts)の名​​前空間を新しい名前(CompanyName.Shared.Contracts)にリファクタリングしました。そしてそれは何とかすべてを修正しました。非常に奇妙なバグ。

更新 私はそれをShared.Contractsに移動すると言うと急いでいました。 Shared.IContractsに移動しました。私はContractsキーワードの取引が分からない。