As a web developer, it is important to look for anything that helps boost productivity. One potential boost would be to have access to the source code that makes up the .NET Framework libraries. Luckily for developers, this has arrived and has made Windows Server 2008 the platform of choice.

Back in October 2007, Scott Guthrie — the Microsoft Program Manager in charge of .Net — announced on his blog that Microsoft would be releasing the source code for many of the libraries in the .Net Framework. Among the libraries released are the base class libraries, the ADO.Net and XML libraries, Windows Forms, and ASP.net (which is of most interest to many developers). This is big news for developers because it helps streamline debugging and troubleshooting. When debugging, developers are much less likely to hit a "black box" in the form of an unreadable library from Microsoft.

The libraries that are being released are also included in Windows Server 2008 and are the most up to date available as of publication. They are even more up to date than the libraries that shipped with Visual Studio 2008.

The release of these libraries can be of great assistance to developers, especially when working on particularly complex projects. When .Net was first released there was no documentation on how to accomplish many tasks that developers knew were possible. This included many of the elements that were included with Visual Studio, like the drop shadow on menus. Before the release of the library source code, developers resorted to looking at the Microsoft Intermediate Language (MSIL) to reverse engineer the proper calls and produce the desired effects. This was a successful — but a horribly draining — process because the MSIL is essentially an assembly language for .Net. If the source code for the .Net Framework had been available back then, developers could have simply browsed the code and found the correct calls and parameters. This would have reduced development time from weeks to days.

In addition to examining the source code to copy desired effects, developers can now debug the libraries from Microsoft. This means that if code is returning a strange error from the Framework (an all too common experience) developers can now examine the libraries themselves and see what the problem is, which will likely save a call to Microsoft Support!

Developers can even read the developer comments that Microsoft has left in the source libraries, which include some of the most helpful information available. There are explanations of why some elements work the way they do, and why some libraries are constructed in particular ways. Compatibility with previous versions is mentioned regularly, which often helps to make sense of changes that otherwise can frustrate developers.

The best information about these changes can be found in Scott Guthrie’s blog at: http://weblogs.asp.net/scottgu.

A quick search using the keyword "source" reveals several entries with details about how to utilize the source code in development environments. The blog also contains information on updates and new releases.