循环依赖
我有2个项目。
项目#2引用了项目#1
现在我需要在Project#1中引用Project#2,但是vs.net抱怨循环依赖。
有没有办法解决这个问题?
绝对不。 循环依赖性表示设计不良。 我并不是说要严厉。 有一些方法可以解决这个问题。
1)你可以将公共代码重构到另一个项目,比如Project#0
2)您可以修复您的设计,这可能是最佳选择。
鲍勃叔叔有一篇关于包装原则的文章很好,其中包括非循环依赖原则。 http://www.objectmentor.com/resources/articles/granularity.pdf 。 阅读本文以了解为什么循环依赖是一件坏事。
重构您的项目,将公共元素带入项目#1和项目#2引用的“项目#0”。
将两者合并为一个或重新设计。
这表明您的设计存在问题。 如果真正需要两种或多种类型相互识别,那么它们应该存在于同一个程序集中。
不。正确构建项目。 尝试使用基于抽象的某种排序 – 从低级到高级。
循环依赖意味着它们不再是两个独立的项目(因为它们不可能只构建其中一个)。
您需要重构,以便您只有单向依赖关系,或者您应该将它们合并到一个项目中。
循环引用可以 在前一个问题中看到,但是你不应该因为每个人已在此处陈述的原因而这样做 。
我真的不是要成为一个聪明的人,但更好的程序设计就是答案。
这似乎是一个设计缺陷,没有别的。 重新设计是解决方案。
我不认为这是一个很好的解决方案,但我们仍然可以通过以下步骤来做到这一点
- 添加引用
- 浏览和
- 转到dll项目的Debug文件夹,
- 找到.dll和Add。