不同项目的代码合同

时间:2016-10-13 09:49:53

标签: c# .net code-contracts

我有一个合同项目(项目A),它生成一个库,另一个项目(项目B)实现该库的接口。

我已经尝试将合同文件从项目A复制到项目B,并且合同在运行时触发而没有问题。但是,当我尝试从项目B引用项目A.静态分析器仍在工作,但运行时检查不再有效。

我做错了吗?是否有一些我不了解的代码合同如何工作?

1 个答案:

答案 0 :(得分:0)

重要提示:这里讨论了这个问题 - CodeContracts issue

在新解决方案中复制了类似的项目结构。一切都没有任何问题。我仍然无法找到生产解决方案的问题。

出于绝望,我创建了一个新的CompanyName.ContractsDebug库。某些测试合同实现在使用该库时触发了运行时检查。然后我尝试进行愚蠢的修复,我将旧契约项目(CompanyName.Contracts)的命名空间重构为新名称(CompanyName.Shared.Contracts)。并以某种方式解决了一切。非常怪异的bug。

<强>更新 我急于说要把它移到Shared.Contracts工作。将其移至Shared.IContracts。我不知道Contracts关键字的处理方式是什么。