If you've been developing with .Net for any length of time you've probably heard of .Net Reflector. This utility decompiles your .Net assembly and lets you see it as C#/VB. I can't tell you the number of times this utility has saved my hide.
Recently .Net Reflector switched from a free (though never open source) to a fee distribution model. This has prompted the community to provide some open source alternatives.
One of the top new projects is ILSpy
ILSpy is the open-source .NET assembly browser and decompiler.ILSpy Features
- Assembly browsing
- IL Disassembly
- Decompilation to C#
- Supports lambdas and 'yield return'
- 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
- Find usage of field/method
- Extensibile via plugins (MEF)
And while .Net Reflector is pretty cool, there's nothing like have the source to see the source...
Speaking of the source, the project downloads, compiles and runs with no issues. Download it, unzip it and it just works.
The beauty is that you can see everything. Nothing is hidden...
It's one thing to browse the innards of .Net exe's and DLL's. It's something else to have the source to the project lets you do this browsing...