只是想问问是否有人知道RedGate的反射器的开源替代品?我感兴趣的是检查类似于反射器的工具是如何工作的。
注意,如果你知道一个免费但不开源的Reflector替代品,你可以回答以下相关问题:
总结- 2011年5月11日更新
以下是各种开源项目和工具的简要介绍:
你可能也会对以下资料感兴趣:
嗯,Reflector本身是一个。net程序集,所以你可以在Reflector中打开Reflector.exe来查看它是如何构建的。
反射器工具使用反射。 -显然这是不对的。
你要求两件事-代码,显示反射器做什么,也是一个替代反射器。
我没有一个开源的Reflector替代品的建议。
我知道有两个选择。
但是这些不会给你c#。
2011年12月13日更新
以下是可用的开源工具:
实际上,我很确定Reflector被认为是一个具有一些反编译功能的反汇编程序。反汇编程序,因为它从程序集文件中读取字节并将其转换为汇编语言(本例中为ILasm)。它提供的反编译器功能是将IL解析为众所周知的模式(如表达式和语句),然后将其翻译为c#、VB等高级语言。净等。Reflector的插件api允许你编写自己的语言翻译器…然而,它如何将IL解析为表达式树的魔力是一个严格保密的秘密。
如果你想了解IL反汇编程序是如何工作的,我建议你看看上面提到的三件事中的任何一件:Dile, CCI和Mono都是很好的来源。
我也强烈推荐Ecma 335规格和Serge Lidin的书。
我使用Reflector的主要原因(我认为也是大多数人使用它的主要原因)是它的反编译器:它可以将方法的IL转换回源代码。
在这一点上,Monoflector将是值得关注的项目。它使用了Cecil,用来反射,还有Cecil。反编译器,它执行反编译。但是Monoflector在这两个库上都有一个UI层,这应该会让你很好地了解如何使用API。
Monoflector也是Reflector的一个不错的选择。它允许您浏览类型并反编译方法,这是人们使用Reflector的99%的功能。这是非常粗糙的边缘,但我认为这将很快改变。
Telerik今天发布了他们自己的反编译工具JustDecompile的Beta版。封闭源代码,但免费,看起来很有前途。
我目前正在开发一个名为Assembly Analyzer的开源反汇编/反编译器。它生成方法的源代码,显示程序集元数据和资源,并允许您遍历依赖项。
该项目托管在CodePlex => http://asmanalyzer.codeplex.com/上
另一个替换是dotPeek。JetBrains宣布它是一款免费工具。当与Resharper一起使用时,它可能会有更多的功能,但即使单独使用它也很好。
用户体验更像是MSVS而不是一个独立的反汇编程序。比起Reflector,我更喜欢阅读代码。Ctrl+T导航也更适合我。仅仅将树与代码窗格同步可能会更好。
总而言之,它仍在开发中,但已经非常好用了。
ILSpy工作很棒!
据我所知,它做了反射器做的所有事情,看起来也一样。