不同项目的代码合同

本文关键字:代码 合同 项目 | 更新日期: 2023-09-27 18:12:49

我有一个项目(项目a),它生成一个库,另一个项目(项目B)从该库实现一个接口。

我试过将合同文件从项目A复制到项目B,合同在运行时没有问题。但是当我试图从项目b中引用项目A时,静态分析器仍在工作,但运行时检查不再工作。

我做错了什么吗?关于代码契约是如何工作的,有什么我不明白的吗?

不同项目的代码合同

重要:这里讨论了CodeContracts问题

在新的解决方案中复制类似的项目结构。一切都顺利进行,没有任何问题。我还是找不到生产方案有什么问题。

出于绝望,我创建了一个新的CompanyName.ContractsDebug库。一些测试契约实现在使用该库时触发运行时检查。然后我试着去做愚蠢的修复,我重构了旧合同项目的命名空间(CompanyName.Contracts)到一个新名字(CompanyName.Shared.Contracts)。这在某种程度上解决了一切。非常奇怪的虫子。

我匆忙地说,把它移到Shared.Contracts起作用了。把它移到Shared.IContracts。我不知道Contracts关键字是怎么回事。