Scott Guthrie has announced that Microsoft will be releasing the source code and debug symbols (aka PDB files) for the .NET Framework assemblies when they release .NET Framework 3.5 later this year.* Initially this will include the .NET Base Class Libraries (System.IO, System.Collections, etc.), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml), and WPF (System.Windows). Additional source code will be released in the coming months for WCF, WF, LINQ, and others. This is fantastic. Although Lutz Roeder’s Reflector allows you to view implementation, it is not produce full-fidelity source code as it has no way to infer comments, local variable names, or other details that get washed out by the compiler. Now we can finally debug directly into Microsoft’s code as well as our own when troubleshooting. Kudos to Scott and his entire team for taking this step to make the .NET platform even better.

* From what I can see, the release of source code and debug symbols is only for .NET Framework 3.5 and not for previous versions. This is still a huge step forward. Publisher web log