Friday, January 18, 2008

.NET Framework Library Source Code now available

I was really excited last October when I hear that Microsoft was going to release the source code to .Net.  After the launch of .Net, I was excited to get a hold of the source code but then read the article, VS2008/.NET 3.5 Ships...sooooo...where's the source? where Shawn Burke mentioned that they didn't want to turn it on over a holiday weekend and that they had found a performance issue that required a hotfix so it was going to be a couple of weeks before .net developers would be able to start stepping through the .Net reference source code.   

I hadn't hear anything about it in a while, so a couple of days ago I was trying to "google" any news about the release of the source code but didn't find anything. 

Today, Scott Gu announced that the source code to the following libraries is now available:

  • .NET Base Class Libraries (including System, System.CodeDom, System.Collections, System.ComponentModel, System.Diagnostics, System.Drawing, System.Globalization, System.IO, System.Net, System.Reflection, System.Runtime, System.Security, System.Text, System.Threading, etc).
  • ASP.NET (System.Web, System.Web.Extensions)
  • Windows Forms (System.Windows.Forms)
  • Windows Presentation Foundation (System.Windows)
  • ADO.NET and XML (System.Data and System.Xml)

Some of the libraries that are not yet included are LINQ, WCF and Workflow, which I am a little surprised because though are some of the most recent libraries.

I am a little confused about what the source code contains because in previous posts by Microsoft bloggers it was mentioned that the source code release only covers framework 3.5 and not 2.0/3.0 and only applies to Visual Studio 2008 (not VS 2005) for debugging, although there is going to be a downloadable copy as mentioned previously and in various posts

Its been joked about that Shawn Burke is trying to put Lutz Roder about of a job - funny because Lutz works for Microsoft.  I'm sure Lutz Roeder will do fine even after the source code release.  Reflector is still one of the easiest and fastest ways to search and navigate though code (I love the hyperlinks), even your own code!!!