2014-03-13 33 views
1

我正在使用免費的.NET程序集反編譯器ILSpy來分析標準和第三方.NET程序集。它適用於標準的.NET WinForms和WPF庫,但我無法反編譯位於C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0\的Windows Phone 8的System.Windows.dll。它顯示成員,但其內部(源代碼)是空的。無法用ILSpy反編譯Windows Phone 8的System.Windows.dll

這是ILSpy的問題,還是我們無法使用任何其他工具(如Red Gate的.NET Reflector)反編譯Windows Phone .NET庫?有沒有其他的方式來獲取/查看這些程序集的源代碼?

回答

5

安裝在C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\WindowsPhone\v8.0中的程序集只是用於在Visual Studio中自動完成的佔位符。您可以通過安裝仿真器使用的VHD圖像(圖像位於C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.0\Emulation\Images)直接提取真實的程序集。我不記得.NET程序集在VHD中的存儲位置,但您應該能夠使用Windows資源管理器的搜索功能輕鬆找到它們。這些是標準的.NET程序集,因此您可以使用任何反編譯器(ILSpy,Reflector,JustDecompile ...)打開它們。

+0

是的!我安裝了'c:\ Program Files(x86)\ Microsoft SDKs \ Windows Phone \ v8.0 \ Emulation \ Images \ Flash.480x800.vhd',並在我的操作系統中獲得了5個新的虛擬硬盤(E: - I :)。然後,我在'G:\ Windows \ System32 \'中找到了System.Windows.ni.dll,並且它在完整的內部進行反編譯時沒有任何問題。請注意,它應該是「.ni」文件,但不是原始的System.Windows.dll。 – TecMan

+0

謝謝,我真的抓了我一分鐘! –

相關問題