A .net disassembler/decompiler [closed]

I am looking for a disassembler or better, a decompiler for .net. The situation is that the source code for an assembly written by one of my predecessors is lost and I'd like to take a look to see what it's doing.

I know that ildasm comes with the Visual Studio installation so I can get at the MSIL, but I was hoping there was a program clever enough to work back to the C# code (or best approximation).

Are there any tools for this out there?

(If not, I suppose it'll be a good excuse for me to sit down and start to learn MSIL)


Solution 1:

Now that Red Gate have started charging for the .NET Reflector tool you might want to check out these free alternatives instead...

Telerik JustDecompile

JetBrains dotPeek

(Open Source) ILSpy

Solution 2:

Have you looked at Reflector?

http://www.red-gate.com/products/reflector/

Solution 3:

Reflector is the way to go, but if you can't use that for some reason, Microsoft ships a disassembler called ILDasm with the framework.

A good source for MSIL knowledge is the book Expert .NET 2.0 IL Assembler by Serge Lidin.

Solution 4:

.NET Reflector is the usual tool for this.