Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open Source Alternatives to Reflector? [closed]

People also ask

Is there a free version of reflector?

The best free alternative to Reflector is LetsView.

What is the alternative to open source?

The best alternative is AlternativeTo, which is free. Other great sites and apps similar to Open Source Software Directory are Product Hunt, Slant, Softpedia and FileHippo.

How does .NET Reflector work?

NET Reflector saves time and simplifies development by letting you see and debug into the source of all the . NET code you work with. Follow bugs through your own code, third-party components, and any compiled . NET code you work with.


Updated 13th December 2011

The following open source tools are available:

  • ILSpy from the SharpDevelop team. Thanks to Scott Hanselman's tweet highlighting the tool.
  • Dotnet IL Editor (a disassembler)
  • IL.View - a .NET Reflector alternative written in Silverlight 4 as an Out-of-Browser Silverlight Application. See this blog post for details.

Another replacement would be dotPeek. JetBrains announced it as a free tool. It will probably have more features when used with their Resharper but even when used alone it works very well.

User experience is more like MSVS than a standalone disassembler. I like code reading more than in Reflector. Ctrl+T navigation suits me better too. Just synchronizing the tree with the code pane could be better.

All in all, it is still in development but very well usable already.


2 options I know of.

  • CCI
  • Mono Cecil

These wont give you C# though.


Telerik today released a Beta of their own decompilation tool, JustDecompile. Closed source, but free and looks promising.


ILSpy works great!

As far as I can tell it does everything that Reflector did and looks the same too.


Actually, I'm pretty sure Reflector is considered a disassembler with some decompiler functionality. Disassembler because it reads the bytes out of an assembly's file and converts it to an assembly language (ILasm in this case). The Decompiler functionality it provides by parsing the IL into well known patterns (like expressions and statements) which then get translated into higher level languages like C#, VB.Net, etc. The addin api for Reflector allows you to write your own language translator if you wish ... however the magic of how it parses the IL into the expression trees is a closely guarded secret.

I would recommend looking at any of the three things mentioned above if you want to understand how IL disassemblers work: Dile, CCI and Mono are all good sources for this stuff.

I also highly recommend getting the Ecma 335 spec and Serge Lidin's book too.