循环依赖

我有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。