0

コードコントラクトでVS2010Ultimateを使用しています。予期しないランタイム動作が発生した後、リフレクターでソースコードを確認し、不変条件がコンパイルされていないことに気付きました。生成された__ContractsRuntimeクラスには、、、、およびの定義のみがAssert含まれます。すべての句に対して、タイプごとに1つ以上のプライベートメソッドを使用しています。組み立てモードとして設定された「標準契約が必要」で完全な契約チェックを行っています。 EnsuresReportFailureRequires<TException>TriggerFailure[ContractInvariantMethodAttribute]Contract.Invariant(...)

私のアセンブリファイルには、次のアセンブリ属性が含まれています。

[assembly: RuntimeContracts(RuntimeContractsFlags.InheritContracts | RuntimeContractsFlags.StandardMode | RuntimeContractsFlags.ThrowOnFailure | RuntimeContractsFlags.Assumes | RuntimeContractsFlags.Asserts | RuntimeContractsFlags.Invariants | RuntimeContractsFlags.Ensures | RuntimeContractsFlags.Requires | RuntimeContractsFlags.RequiresWithException | RuntimeContractsFlags.LegacyRequires)]`

誰かがこの問題や、私の不変条件が期待どおりに機能しない理由についての洞察を持っていますか?

4

0 に答える 0