这可能听起来像一个愚蠢的问题,但无论如何我都会试一试。
因此,在 Visual Studio 中,不能有两个项目 X 和 Y,使得 X 引用 Y,Y 引用 X。
总的来说,由于各种原因,我完全可以理解循环依赖是如何产生问题的。
但是这样编译两个相互依赖的项目真的不行吗?在我看来,这一定是可能的,因为(在我看来——也许我对此完全不了解)拥有两个相互依赖的程序集实际上与拥有两个相互依赖的类并没有太大区别——这种情况是合法,可以编译。
如果您说“两个程序集不能相互依赖,因为编译器无法先编译一个”,这对我来说是有道理的;除了您似乎可以为同一个程序集中的两个类使用相同的参数,而且很明显编译器可以很好地处理这种情况。
基本上我问的原因不是我有做这件事的迫切愿望,我知道这通常是不明智的。具体来说,我想知道,因为如果我可以有两个项目——比如说,MyProjectCS 和 MyProjectVB——那就太好了——它们基本上作为一个单元的两个相互依赖的部分存在,并且只是因为某些部分是用 C# 编写的,所以它们是分开的。其他部分是用 VB.NET 编写的。
所以,我的问题是(哎呀,三倍):
- 是否可以启用此行为(就此而言,在 Visual Studio 或其他地方)?
- 如果在任何 IDE 中都不可能,至少在理论上是可能的,还是可能不存在相互依赖的程序集?
- 如果理论上都不可能,为什么不呢?换句话说,相互依赖的程序集与单个程序集中的相互依赖的代码有何不同?