在 .NET BCL 中有以下循环引用:
System.dll
和 System.Xml.dll
System.dll
和 System.Configuration.dll
System.Xml.dll
和 System.Configuration.dll
这是 .NET Reflector 的屏幕截图,显示了我的意思:
Microsoft 如何创建这些程序集对我来说是个谜。是否需要特殊的编译过程才能允许这样做?我想这里正在发生一些有趣的事情。
最佳答案
我只能说 Mono 项目是如何做到这一点的。该定理非常简单,尽管它使代码困惑。
他们首先编译 System.Configuration.dll,不需要引用 System.Xml.dll 的部分。在此之后,他们以正常方式编译 System.Xml.dll。现在魔法来了。他们重新编译 System.configuration.dll,其中需要引用 System.Xml.dll 的部分。现在有了循环引用的成功编译。
简而言之:
需要 B 和对 B 的引用。
关于.net - Microsoft 如何创建具有循环引用的程序集?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1316518/