由于循环依赖性错误,无法添加对项目的引用

Ven*_*kat 36 projects-and-solutions circular-dependency visual-studio-2010 visual-studio

我创建了2个虚拟项目在我的应用程序和将它们命名为BALDAL.当我构建它们时,它们会成功构建.如果我添加BALDAL项目的引用,它添加得很好.但是在添加对项目的DAL引用时BAL,我收到以下错误:

无法添加对DAL的引用.添加此项目作为参考将导致循环依赖.

谁能帮我解决这个错误?

Pri*_*ign 33

这是你需要做的:

  1. 右键单击解决方案资源管理器中的DAL项目,然后在上下文菜单中选择Project dependencies.

  2. 您现在将看到一个窗口,其中显示了DAL项目的项目依赖性.确保未选中BAL.

现在您应该能够添加您的参考...

我希望这有助于我尽可能简单直接地保持它.

说明:

您的DAL应该无法访问BAL.您的代码引用依赖项应如下所示:

MVC项目 - > BAL - > DAL

MVC项目应该引用BAL,BAL应该引用DAL.像这样设置你的项目.让它工作,然后你会更好地理解为什么这个设置更好.

鉴于:

  1. 数据 = 原始数字和字符串
  2. 信息 =将处理后的数据转化为有意义

Cosider如下: UI应该从BAL 获取其信息,该信息可以基于DAL 组成它的数据.


jef*_*smi 8

您只能以一种方式引用,否则您会得到如您所说的错误.只需这样做:删除你的DAL到你的BL的引用,并从你的BL到你的DAL新建一个!

  • 使用公共层而不是...更具体的:在项目中添加一个名为common的新图层,然后将业务对象放在此图层中.现在,您可以在所有BL和DAL图层中引用此图层. (8认同)

Chr*_*101 8

隐含在"层"的概念中,较高层依赖于较低层,而不是相反.如果2个"层"相互依赖,则一个不高于另一个,它们不是任何有意义的层,因此可以认为是在同一层中.对于体系结构组件或模块,同样的基本原则也适用于Studio实现项目依赖性.如果您使用这个原则 - 将您的项目视为设计模块,而不是仅仅将所有项目都放入一个项目中 - 您将拥有结构良好的代码库,随着它的大小增长,它将为您提供更少的问题.

  • -1,因为在读完答案之后我仍然不知道如何让VS做我需要的事情. (27认同)
  • 你提出了一个非常有效的观点,但是并不总是能够重写你继承的大量代码库,而这些代码库恰好写得不好. (4认同)
  • 对于不满意的人-我认为这不是让Visual Studio做您想要的事的情况,更多的是您想要做错事。这是一个基本概念。 (2认同)