![](/img/trans.png)
[英]Loading an .NET Standard assembly which references a nuget dependency at runtime?
[英].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.