你如何在vs.net中获得循环引用?

时间:2011-09-18 11:05:14

标签: c# .net visual-studio

如果在PROJC中引用了PROJB,并且在PROJB中引用了PROJC,并且PROJA引用了PROJB,那么这是一个问题吗?

4 个答案:

答案 0 :(得分:3)

  

如果在PROJC中引用了PROJB,并且在PROJB中引用了PROJC

仅此一项是循环引用,在Visual Studio中是不允许的,并且会阻止您编译应用程序。

答案 1 :(得分:2)

是的,这是一个循环引用,是一个问题。实际上你会得到以下错误

  

无法添加对“ProjC”的引用。将此项目添加为   引用会导致循环依赖。

看看这些文章......

How to get rid of circular references in C#

Avoiding circular references

Looking Around at Circular References

enter image description here

答案 2 :(得分:0)

在您的示例中,引用B和B引用C的项目C是循环引用,Visual Studio不允许您这样做。

答案 3 :(得分:0)

随着战争。标题说:在项目之间,项目A需要项目B的代码才能工作和相反。我在企业中有这样的场景。解决方法是DLL文件的共享位置,两个项目都将其DLL引用到。这意味着每个项目中没有循环错误。

但是,由于编译器错误,编译器可能会删除DLL文件,然后其他项目停止工作。这当然是丑陋的设计,但如果已经存在症状,并且企业需要数周或数月的时间来进行重构。你可以处理它..

您已阅读效果。由于项目A缺少dll,您无法编译项目B.反之亦然。解决该问题的方法是手动重新复制已删除的DLL。再说一遍:不好,不要这样做,并尝试重构,如果它已经存在!