I found an even better way to decompile C# assemblies, better than ILDASM.  It even creates a .csproj file for you.

Although ILDASM helped me find source code from a hexadecimal location in an error message from production, I'm not sure if you can do that with ILSpy, I haven't tried.

It's an open source project called ILSpy, this is their website: www.ilspy.net
I had a little bit of trouble getting it to decompile a XAML file, but not a lot of trouble.

Just press Ctrl-O to open a C#/.NET .exe, then Ctrl-S to save the code and .csproj file.  Then you can open the .csproj file in Visual Studio, I used Visual Studio 2013 and it worked without any issues.

I used ILSpy at work to locate a hard coded file path in a tool that we had no source code for.