Mag*_*ndi 419 .net reflection reflector open-source
只是想知道是否有人知道RedGate的Reflector的开源替代品?我很想知道一个类似于Reflector的工具是如何工作的.
请注意,如果您知道Reflector 的免费但非开源替代方案,您可以回答以下相关问题:
摘要 - 2011年5月11日更新
快速汇总已建议的各种开源项目和工具:
以下资源也可能是有意义的:
Mag*_*ndi 175
2011年12月13日更新
以下开源工具可用:
Fer*_*ntl 38
另一个替代品是dotPeek.JetBrains宣布它是一款免费工具.当与Resharper一起使用时,它可能会有更多功能,但即使单独使用它也能很好地工作.
用户体验更像是MSVS,而不是独立的反汇编程序.我喜欢代码阅读比Reflector更多.Ctrl + T导航也更适合我.只需将树与代码窗格同步就可以了.
总而言之,它仍处于开发阶段,但已经非常有用.
Jas*_*ley 10
实际上,我很确定Reflector被认为是具有一些反编译功能的反汇编程序.反汇编程序,因为它从程序集的文件中读取字节并将其转换为汇编语言(在本例中为ILasm).它通过将IL解析为众所周知的模式(如表达式和语句)提供的Decompiler功能,然后将其转换为更高级别的语言,如C#,VB.Net等.Reflector的addin api允许您编写自己的语言翻译器,如果你希望...但是它如何将IL解析为表达树的魔力是一个严密保密的秘密.
如果你想了解IL反汇编程序是如何工作的,我建议你查看上面提到的三个方面中的任何一个:Dile,CCI和Mono都是这个东西的好来源.
我也强烈推荐获得Ecma 335规范和Serge Lidin的书.
我使用Reflector(以及我认为,大多数人使用它的主要原因)的主要原因是它的反编译器:它可以将方法的IL转换回源代码.
在那个数字上,Monoflector将成为值得关注的项目.它使用Cecil进行反射,而Cecil.Decompiler进行反编译.但Monoflector在两个库的顶部层叠了一个UI,这可以让您非常了解如何使用API.
Monoflector也是反射器的一个不错的替代品.它允许您浏览类型并反编译方法,这是人们使用Reflector的99%.边缘非常粗糙,但我认为这会很快改变.
好吧,Reflector本身是一个.NET程序集,所以你可以在Reflector中打开Reflector.exe来检查它是如何构建的.