2014-03-13 30 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

谢谢,我真的抓了我一分钟! –

相关问题