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:
I vaguely recall that app being able to generate code from IL disassembly. But I could be wrong.