The Visual Studio SDK comes with a disassembler, however that won't regenerate your original source code. There are programs that can produce a code file from disassembly, however it will only be recognizable in general structure to your original code.
Take a look at Lutz Roeder's .Net Reflector:
http://www.aisto.com/roeder/dotnet/
I vaguely recall that app being able to generate code from IL disassembly. But I could be wrong.
-Peter
peterlanoie.blog