簡體   English   中英

.NET如何查找哪個程序集引用哪個

[英].NET How to find which assembly references which

我們有相當老的項目。 主機(控制台或Windows服務)在其中加載一堆“ dll”插件。其中一些來自nuget,一些來自3d party發行版,一些在其他解決方案中編譯並手動復制等。

幾乎有一百個..和做這件事的那個家伙幾年前離開了..

最近我得到了System.IO.FileLoadException, the infamous error 0x80131040 其中一個dll試圖加載另一個dll的錯誤版本。.我花了幾個小時才找到它是哪個程序集。

我啟用了Fusion日志,但所有信息都告訴我-它正在尋找哪個版本的dll,以及它找到了哪個版本。

沒有有關哪個dll實際引用錯誤的dll的信息。

它只會打印主機名,即console.exe, 而不打印引用的dll名稱

我可能會用Reflector來查找引用中的全部內容。或編寫一個快速應用程序以加載所有程序集並嘗試恢復其元數據..但這將需要幾個小時

有誰知道一種更快的方法來查找哪個dll通過名稱引用特定的dll?

System.IO.FileLoadException為缺少的程序集提供PublicKeyToken。 只需進入項目的bin文件夾並搜索包含等於公鑰令牌的文本的dll。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM