Microsoft to Release .NET Framework Source Code

You’re up late one night writing code. Maybe it’s a technology you’re just learning or something you haven’t tried before. You’re getting an exception from deep in the code. You can’t figure out why…the blogs aren’t helping, the newsgroups aren’t helping, the docs aren’t helping. The next day you call product support. Since they don’t have your code in front of them, it’s also hard for them to triangulate what’s going on.

Now, imagine you’ve got source and symbols available. With that, you can enable “Break on Exception” in your debugger, run your scenario, and have the debugger stop exactly where the exception was thrown. The code gets loaded up and you sniff around a bit and realize – duh! – you forgot to set some other piece of state in an earlier call or a parameter. You fix your code and you’re off and running.

Even with one of the decompilers (e.g. Reflector) that you can easily get out there, this can be tricky to solve. With the source it’s much, much easier.

And BIG news is Microsoft making .NET framework sources available to developers. From Shawn Burke’s Blog:

For any of you that have been following my blog, you may remember that I made a splash with a post about possible ways to release Windows Forms source code. This generated a lot of discussion and was picked up by many of the major tech websites out there. That was in February of 2005…

…Today is an exciting day for us here Microsoft and our developers, see ScottGu’s Blog for the big announcement: We will be releasing .NET Framework Source Code as part of the VS 2008 (Orcas) release.

They getting code ready for release, the current launch lineup is (in no particular order):

* Base Class Libraries (mscorlib.dll)
* ASP.NET (System.Web.dll)
* Windows Forms (System.Drawing.DLL & System. Windows.Forms.dll)
* ADO.NET (System.Data.DLL)
* XML (System.Xml.DLL)
* WPF (System.Windows.DLL)

Podcast on Scott Hanselman’s “Hanselminutes” contains a lots more detail. Unfortunately their licensing terms mean that developers only have a read-only view of the source and there wont be any ability to reuse it for Mono etc.


  1. NetMassDownloader Download .Net Framework Source Code At Once, Enables Offline Debug In VS 2008,2005 And CodeGear Rad Studio

    .NET Mass Downloader

    Welcome to the .NET Mass Downloader project. While it’s great that Microsoft has released the .NET Reference Source Code, you can only get it one file at a time while you’re debugging. If you’d like to batch download it for reading or to populate the cache, you’d have to write a program that instantiated and called each method in the Framework Class Library. Fortunately, .NET Mass Downloader comes to the rescue!
    The tool which enables offline debugging in VS2008 , VS2005 And Codegear Rad Studio.

    The tools is open source under Apache Licence 2.0

    You can download the latest version from:

  Comments are closed.