Scott Dorman

ephemeral segment

  Home  |   Contact  |   Syndication    |   Login
  608 Posts | 11 Stories | 900 Comments | 51 Trackbacks

News


Post Categories

Image Galleries


Microsoft Store


Creative Commons License



Locations of visitors to this page

Subscribers to this feed

TwitterCounter for @sdorman

View blog authority

Add to Technorati Favorites

Windows Live Alerts

AddThis Social Bookmark Button

LinkedIn profile

Community Credit profile

The Code Project

Follow me on Twitter

Get Free Shots from Snap.com

Community Credit Hall of Fame

Get Feedghost

Xobni outlook add-in for your inbox



Support This Site

Tag Cloud


Article Categories

Archives

Post Categories

Image Galleries

I'm sure most of you are familiar with Reflector. If you're not you should download it immediately and become familiar with it. It is an invaluable tool for looking at .NET assemblies and decompiling them to C#, Visual Basic or even IL. I have used both Reflector and Rotor extensively to investigate how the .NET runtime is actually doing things.

I have done this for various reasons, including trying to track down bugs in my code. Why would I need to look at what the runtime is doing to find a bug in my code? Most of the time it's to try and find out why one of my event handler is running when I'm not expecting it to or why it isn't running when I thought it should. No matter what the reason, it always involved looking at the .NET runtime source code in some external tool rather than in a debugger.

Yesterday, Scott Guthrie announced that the source code for the .NET Framework libraries is being made available for .NET 3.5 and Visual Studio 2008 later this year. That, in and of itself, isn't the big news in this announcement since we've already had access to this through Reflector or Rotor. The big news is that you will actually be able to enable debug support for the libraries.

The first libraries to be released will the the source code (complete with comments) for:

  • .NET Base Class Libraries (System, System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text)
  • ASP.NET (System.Web)
  • Windows Forms (System.Windows.Forms)
  • ADO.NET (System.Data)
  • XML (System.Xml)
  • WPF (System.Windows)

Libraries for WCF, Workflow and LINQ will be added shortly after that.

The source code will be released under the Microsoft Reference License (MS-RL) and you will also be able to download it as a standalone install which you could browse using any text editor or through integrated debugging support in Visual Studio 2008. You can check out Podcast that Scott Hanselman and Shawn Burke recently recorded.  Shawn is also going to be publishing a cool Channel9 video later this week that shows using the VS 2008 integrated debugging support with it.

While I agree with Scott that having source code access and debugger integration of the .NET Framework libraries will provide better insight into how the .NET Framework libraries are implemented and enable developers to build better applications, it is this same insight that can potentially cause problems. By providing such easy access, the chance becomes higher that developers will start making decisions based on specific implementation details rather than the documented public API. Hopefully, I'm just being pessimistic and seeing a possible outcome that won't actually happen.

posted on Friday, October 5, 2007 12:00 AM

Feedback

# re: .NET Framework Library Source Code 10/8/2007 1:53 AM raghu
I want to know vb code for asp for beginers

# re: .NET Framework Library Source Code 2/10/2008 5:11 PM Kerem Kusmezer
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:
http://www.codeplex.com/NetMassDownloader


Post A Comment
Title:
Name:
Email:
Website:
Comment:
Verification: