我有一个合同项目(项目A),它生成一个库,另一个项目(项目B)实现该库的接口。
我已经尝试将合同文件从项目A复制到项目B,并且合同在运行时触发而没有问题。但是,当我尝试从项目B引用项目A.静态分析器仍在工作,但运行时检查不再有效。
我做错了吗?是否有一些我不了解的代码合同如何工作?
答案 0 :(得分:0)
重要提示:这里讨论了这个问题 - CodeContracts issue
在新解决方案中复制了类似的项目结构。一切都没有任何问题。我仍然无法找到生产解决方案的问题。
出于绝望,我创建了一个新的CompanyName.ContractsDebug
库。某些测试合同实现在使用该库时触发了运行时检查。然后我尝试进行愚蠢的修复,我将旧契约项目(CompanyName.Contracts
)的命名空间重构为新名称(CompanyName.Shared.Contracts
)。并以某种方式解决了一切。非常怪异的bug。
<强>更新强>
我急于说要把它移到Shared.Contracts
工作。将其移至Shared.IContracts
。我不知道Contracts
关键字的处理方式是什么。