Thursday, October 4th, 2007
Microsoft Is Making .NET BCL Source Code Available
One of the coolest things I’ve heard about today is that Microsoft is planning on making the source code for the .NET Framework Base Class Library (BCL) publicly available. I’m not sure of all the details, but is appears that it will be hosted similar to one of the ways Win32 debug symbols are made available to a developer during a debugging session. Since the Visual Studio .NET debugger can only debug user-mode programs, WinDbg exists which can work in user or kernel mode, This is where one can declaratively configure the path, uri or other location to search for the symbols that will be loaded during a debugging session. This repository is called a symbol server, and can be as simple as a folder on your drive. This way, one always is assured of having them available without having to deal with DLLs scattered all over the drive. I can imagine the scenario for source files exposed in a similar fashion.
The benefit with this is that you’d never again have to worry about stepping off into some .NET framework disassembly goo which can be tedious to navigate through sometimes, especially so without the debug symbols. Having the source code available in a PDB would make debugging a nice coherent experience by just making framework code look just like your code. I know that you can set the option to just show "My Code" when debugging, but having a full-on interactive session would be sweet, I think.
This just in…from a post I just read on Scott Guthrie’s blog I now see that it will, in fact, work exactly as I’ve described above. Apparently VS 2008 will have a debugging configuration option to make the magic happen. Very cool!

