反射器的开源替代品?

只是想问问是否有人知道RedGate的反射器开源替代品?我感兴趣的是检查类似于反射器的工具是如何工作的。

注意,如果你知道一个免费但开源的Reflector替代品,你可以回答以下相关问题:

总结- 2011年5月11日更新

以下是各种开源项目和工具的简要介绍:

  1. 通用编译器基础结构 (CCI)
  2. Mono Cecil
  3. ILSpy
  4. dnSpy (ILSpy的分支,项目似乎比原来更活跃)
  5. Dotnet IL编辑器(DILE)
  6. IL。视图< / >
  7. Monoflector (不再活跃 as of 2011年4月)

你可能也会对以下资料感兴趣:

  • TypeView.cs
  • Jason Haley在拆卸。net的笔记
  • 艾德里安银行的最近的博客总结了一些反射器的替代品,包括下面没有提到的几个选项。
  • Mark Lichtenberg的详细博客比较了几个开源替代品(DILE, ILSpy和Mono Cecil使用MonoDevelop)到Reflector。
123225 次浏览

嗯,Reflector本身是一个。net程序集,所以你可以在Reflector中打开Reflector.exe来查看它是如何构建的。

反射器工具使用反射。 -显然这是不对的。

你要求两件事-代码,显示反射器做什么,也是一个替代反射器。

下面是一个例子,从Reflector的工作中简化了很多,但它展示了反射的技术: TypeView.cs < / p >

我没有一个开源的Reflector替代品的建议。

我知道有两个选择。

  • CCI
  • Mono塞西尔

但是这些不会给你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工作很棒!

据我所知,它做了反射器做的所有事情,看起来也一样。