私は現在、ASP.NET MVCアプリケーションで何も問題なくMicrosoft Code Contractsを使用していますが、基本的なASP.NET Webサイトではそれを実行できないようです。私はそれがこのタイプのプロジェクトで作業するように作られていることは完全にはわかっていません(それは問題ではありません)ので、私は全員にそれを持ち出そうと思っていました。Microsoftコード契約をASP.NET Webサイトで使用することはできますか?
契約をうまくコンパイルできますが、他のプロジェクトタイプ(ASP.NET MVCなど)のように[プロパティ]ページで有効にしていないと仮定しているため、コードはスキップされます。私は、ASP.NET Webサイトに、典型的なプロパティページの代わりにダイアログを表示するプロジェクトのプロパティページに行ったことがありますが、同じメニューオプションを生成しないため、セクションを捧げませんコード契約に。
また、ビジネスロジックとWebサイトを分離するために使用するクラスライブラリプロジェクト内でMicrosoft Code Contractsを適切に有効にしました。契約はうまくコンパイルされますが、契約に違反したときには内部的な例外がなく、むしろ意味のない"Exception of type 'System.ExecutionEngineException' was thrown"
エラーが発生します。私の契約は、違反時に表示するメッセージを指定していますが、例外のどこにもありません。これはプロセスの実行を停止するだけです(Microsoftコード契約のデフォルト機能だと思います)。
特定のプロジェクトタイプをコントラクトで使用することができるかどうかを明示的に記載している場所は見つかりませんでしたので、誰かがこの問題を抱えているかどうかを確認したいだけでした。
ありがとうございました!
同じ問題を抱えていましたが、これまでに一番下には入りましたか? – Kieron