Tuesday, 1 March 2011

.NET Reflector replacement

All good stories must come to an end ... RedGate's .NET reflector tool is no exception to that rule. I've been addicted to that little gem from the day it was launched, allowing me to find workarounds for all kinds of SharePoint issues by digging into the SharePoint assemblies.
But alas, RedGate has decided to remove the free version & force existing users to buy their tool (even if you're only using an outdated, plugin-free version to browse assemblies ;)) ...

Now I'm not going to turn this post into a rant on the hypocrisy of suddenly charging people for a tool that has been freeware for years. I'm sure they had their reasons for this and their current price of $35 isn't that wallet-shattering either.  Considering the amount of options it gives you, it's still reasonably priced.

Still I'm a cheapskate and I didn't use all of Reflector's advanced options, so I went looking for a free replacement that allowed me to browse the code of existing .NET assemblies.
And behold, it looks like there's a promising alternative: ILSpy!

Overview of its features:
  • Assembly browsing
  • IL Disassembly
  • Decompilation to C#
  • Saving of resources
  • Search for types/methods/properties (substring)
  • Hyperlink-based type/method/property navigation
  • Base/Derived types navigation
  • Navigation history
  • BAML to XAML decompiler
  • Save Assembly as C# Project
What are you waiting for?  Head over to their site and download the latest version ;)

As mentioned by prantlf in the comments, there are even more alternatives:

All of these products are still in beta, so I don't think it's fair that I do a review on them. I've tested them all out and lets say they each have their pros and cons ...
But as they're all free products (for now), I can only suggest that you try them out yourselves and see which one you like best ;)


  1. This is wonderful news. I used to use Reflector, but it had so many bugs that I couldn't trust the information it presented. An open source replacement is just what we need; we can fix any bugs that come up.

  2. I found ILSpy quite clumsy to work with. I'm evaluating two other Relector replacements in development which give me better user experiince:

    dotPeek (http://www.jetbrains.com/decompiler/)
    JustDecomplie (http://www.telerik.com/products/decompiling.aspx)

    The feel like Visual Studio more than Reflector. I like code reading better than in Reflector there. But they seem to be slower.