我在我的電腦上安裝了第三方程序。 我打開了該.dll的是,在程序Ildasm.exe內置了此程序的一個和檢查清單:如何查找程序正在使用哪個mscorlib.dll?
.assembly extern mscorlib
{
.publickeytoken = (B7 7A 5C 56 19 34 E0 89) // .z\V.4..
.ver 2:0:0:0
}
所以該程序使用.NET或者2.0,3.0或3.5。
我在我的電腦上搜索了mscorlib.dll,發現有61個文件。
如何查找程序實際使用的這些.dll中的哪一個?
我也注意到,這些一堆在目錄名爲: C:\ Program Files文件(x86)的\參考大會\微軟\ Framework.NETPortable \ V4.0 \資料\ ProfileXXX \ mscorlib.dll中,其中XXX是一個1-3位數字。
這是怎麼回事?我可以理解,每個.net版本(2.0,3.0,3.5 ...)將具有不同的文件,但不應該添加多達61個文件。每個配置文件之間有什麼區別?
這是.dll地獄問題的.net解決方案的樣子嗎? 大量版本的相同文件+公鑰來安全地標識.dll。
誰刪除了不再使用的.dll文件?似乎每個程序都有自己的.net版本。最終必須填滿磁盤?
您是否已經嘗試過[Fusion Log viewer](http://msdn.microsoft.com/en-us/library/e74a18c4%28VS.80%29.aspx)?我沒有看過如果這可以用來檢查mscorlib.dll,但是。 http://stackoverflow.com/a/3952202/255562 –
看起來像重複的,雖然這些答案是幾年前,可能會過時。 http://stackoverflow.com/questions/227886/how-do-i-determine-the-dependencies-of-a-net-application – Almo
謝謝Ashish!根據這個工具程序使用C:\ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ mscorwks.dll。與mscorlib.dll不同的名稱有點奇怪,但確定。此外,它還表示它通過查看GAC找到了該程序集。 – Andy