No more reflection hazzles (hopefully) .NET source code available (to some extent)

Posted on: October 4, 2007

So today Microsoft revealed to the public that they will make the source code of major parts of the .NET framework available for viewing and debugging under the Microsoft Reference License. I’m not going to go into a lot of details of what the offering actually contains and I am sure a lot of people have an issue with this being called ‘Open Source’ in some channels. Me personally I would not call this Open Source at all, more as Microsoft themselves put it, a reference resource. Through this offering, if you are using Visual Studio 2008, you will be able to ‘step into’ the framework code while debugging to follow the code execution that goes on behind the scenes so to speak.

While this will make it a lot easier to figure out why things aren’t quite working as you expected, there is also another great winning here. If you, like me, spend a lot of time in Lutz Roeder’s excellent disassemble tool Reflector, and then use reflection to invoke, instantiate and work with internals of the framework, I think you will find it very valuable to be able to follow the actual execution paths taken by the framework code, and also to see how parameters passed to internal/private methods get cast and handled. From Scott Guthrie’s Blog:

“For example, in our scenario above I could also double click up the callstack and review the private ProcessRequest method on the System.Web.UI.Page class…”

I believe this is going to have a very big impact on the accessibility of the framework and I also this it will provide great aid and help to many .NET developers who are interested in understanding the internals of the base on which all their code relies.

I can’t wait to get my hands on this.

Check out Whurley’s blog post for the full announcement.

Miguel has some intersting thoughts on the impact on the Mono project.

ScottGu gives you the details.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s


This blog has no clear focus. It has a focus though, it's just not very clear at the moment...

Dev Env.

Visual Studio 2008 Prof / NUnit / Gallio / csUnit / STools (ExactMagic) / doxygen / dxCore / TypeMock / TestDriven.net / SequenceViz / CLRProfiler / Snoop / Reflector / Mole / FxCop / Subversion / TortoiseSVN / SlikSVN / CruiseControl.net / msbuild / nant

Blog Stats

  • 81,636 hits