C# - 循环引用,无法看到命名空间

Pat*_*ick 1 c# namespaces

我有2个项目的解决方案.

一个是Raven,它是一个简单的基础,为第二个项目PPather提供数据.第二个项目依赖于第一个编译所以构建它,我添加了对Raven的引用.到目前为止一切运作良好.

现在我希望Raven推出PPather.但它看不到PPather naemspace所以我不能.解决此问题的所有努力都会导致循环引用错误.

任何人都知道如何让Raven看到依赖它的PPather项目的命名空间?

And*_*are 13

你不能 - 没有办法以你想要的循环方式引用程序集.如果您需要创建循环引用,很可能您没有正确设计这些程序集.

你的第一个程序集是一个依赖项,因此不应该有任何代码知道除了它的依赖项以外的任何代码.一旦您的程序集变得"智能"并开始了解其自身依赖项之外的任何内容,您将开始出现严重的维护和可伸缩性问题.我会考虑重新组织您的代码,使您不需要创建循环引用.

  • 实际上,这不太正确.你*可以*在.NET中创建循环引用,但它是:很难做*,而b:一个非常非常糟糕的主意.*=您无法在IDE中执行此操作 - 例如 - 您必须转到命令行.很长一段时间,2个核心MS .NET库都是循环的(现在已经修复了,我相信). (3认同)