gpt4 book ai didi

.net - Microsoft 如何创建具有循环引用的程序集?

转载 作者:行者123 更新时间:2023-12-04 12:59:44 26 4
gpt4 key购买 nike

在 .NET BCL 中有以下循环引用:

  • System.dllSystem.Xml.dll
  • System.dllSystem.Configuration.dll
  • System.Xml.dllSystem.Configuration.dll

  • 这是 .NET Reflector 的屏幕截图,显示了我的意思:

    enter image description here

    Microsoft 如何创建这些程序集对我来说是个谜。是否需要特殊的编译过程才能允许这样做?我想这里正在发生一些有趣的事情。

    最佳答案

    我只能说 Mono 项目是如何做到这一点的。该定理非常简单,尽管它使代码困惑。

    他们首先编译 System.Configuration.dll,不需要引用 System.Xml.dll 的部分。在此之后,他们以正常方式编译 System.Xml.dll。现在魔法来了。他们重新编译 System.configuration.dll,其中需要引用 System.Xml.dll 的部分。现在有了循环引用的成功编译。

    简而言之:

  • A 是在没有代码的情况下编译的
    需要 B 和对 B 的引用。
  • B 编译。
  • A 重新编译。
  • 关于.net - Microsoft 如何创建具有循环引用的程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249686/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com