Shawn Burke has a nice article which explains how to enable Visual Studio to download the symbol files and enable debugging for the .NET Source Code in your project. This is definitely a big help, as we no longer have to treat internal .NET assemblies as a black box, but gives us a the power to find out why an error happened and what kind of data the runtime expects?
Have a look at this excellent article and start configuring your development environment to support it.