Reflector 无法反编译“System.Data.Entity.dll” .NET 4.0
查看 .NET 4.0 的 System.Data.Entity.dll 时,没有任何方法被反编译。我只看到方法存根。我尝试重新安装反射器,但仍然不起作用。我能够很好地反编译其他 .NET 程序集。
When looking at the System.Data.Entity.dll
for .NET 4.0, no methods are being decompiled. I only see the method stubs. I tried re-installing reflector but it still didn't work. I am able to decompile other .NET assemblies just fine.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
我认为您的问题是您已将 Reflector 指向程序集的仅元数据版本。
安装了许多程序集供 VS 2010 使用,这些程序集仅包含原始程序集的元数据,而不包含方法的 IL。他们这样做是出于性能原因和多目标支持。
如果您检查,您可能会看到您正在查看的程序集位于 ProgramFiles 中的“Reference Assemblies”目录下。如果您指向 windows\microsoft.net\framework 下的相同程序集...您将看到 Reflector 可以反汇编此程序集和所有其他 BCL 程序集。
I think your issue is that you've pointed Reflector at the metadata-only version of the assembly.
A number of assemblies are installed for use by VS 2010 that contain only the metadata, not the method's IL, of the original assembly. They did this for performance reasons and for multitargeting support.
If you check, you'll probably see that the assemblies you're looking at are under the "Reference Assemblies" directory in ProgramFiles. If you point to the same assemblies under windows\microsoft.net\framework... you'll see Reflector can disassemble this and all other BCL assemblies.
Reflector 不会反编译每个程序集。它不会反编译以某些方式混淆的程序集,也不会反编译混合模式程序集的部分(包含本机代码)。
Reflector does not decompile every assembly. It will not decompile assemblies which have been obfuscated in certain ways, nor portions of mixed mode assemblies (which contain native code).