4

我正在編寫一些C#代碼,遞歸地遍歷基本程序集的引用程序集,構建這些引用的定向非循環圖來進行拓撲排序。我正在通過Assembly類中的GetReferencedAssemblies()方法執行此操作。在測試代​​碼時,我發現 - 令我驚訝的是,.NET框架中的一些程序集顯然將自己列爲程序集引用。其中一個例子是System.Transactions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089其中列出了System.Transactions,Version = 2.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089作爲參考在Reflector中驗證。在.NET框架中遇到自我遞歸程序集引用

一旦我意識到這一點,通過比較AssemblyNames來打破無限遞歸是微不足道的,但我對這種情況感到好奇,因爲我自己無法生成自遞歸程序集。 (我可以谷歌沒有關於這方面的信息,並添加自己作爲參考不會使得生成的程序集自我遞歸。)

總之:是自遞歸組件引用真的「猶太教」 - 什麼將基於一些系統組件引用自己是?

謝謝。

回答

相關問題