posted by: Ralf Rottmann | posted @ Thursday, October 04, 2007 12:29 AM | View blog reactions

Während anderenorts selbst eingefleischte Fans durch die gnadenlose Ausnutzung einer Monopolstellung zunehmend verärgert werden, setzt ein Unternehmen welches zu Unrecht häufig für die Legacy schützendes Verhalten in der Kritik steht, jetzt immer deutlichere Zeichen:

Microsoft gab heute völlig unerwartet die Freigabe des Source Codes der .NET Base Class Libraries unter der Microsoft Reference License bekannt!

In einem ersten Schritt wird der Source Code inklusive vollständiger Kommentierung der .NET Base Class Libraries (System, System.IO, System.Collections, System.Configuration, System.Threading, System.Net, System.Security, System.Runtime, System.Text, etc.), ASP.NET (System.Web), Windows Forms (System.Windows.Forms), ADO.NET (System.Data), XML (System.Xml) und WPF (System.Windows) zum Download zur Verfügung gestellt. Es folgen weitere Biliotheken unter anderem Windows Communication Foundation (WCF), Workflow und LINQ.

Der Source Code wird als Standalone Installation verfügbar sein, der mit jedem beliebigen Editor einsehbar ist. Darüber hinaus wird Visual Studio 2008 (zurzeit in Beta 2) eine tiefe Integration inklusive vollständigem Debugging beinhalten.

Im finalen Release von VS 2008 kann der Debugger so konfiguriert werden, dass die .NET Framework Debugger Symbols (und der vollständige, zugehörige Source Code) dynamisch bei Bedarf geladen werden. Wahlweise kann der gesamte Quellcode auch in einem Vorgang für die lokale Nutzung bezogen werden:

image

Während der Debugging Session einer .NET Anwendung kann dann beim Erreichen einer Unterbrechung der Call Stack inklusive detaillierter Dateiinformationen (und sogar Zeilennummern) auch für die .NET Framework Klassen und Methoden eingesehen werden:

image

Der Screenshot zeigt einen Breakpoint auf der GridView1.DataBind() Methode. Bislang gab es keine Möglichkeit, die Implementierung dieser Methode zu verfolgen. Mit VS 2008 kann man (wie gewohnt) über F11 ("Step Into") in den Quellcode der Framework Methode springen:

image

Darüber hinaus ist es auch möglich, sich im Call Stack rückwärts zu bewegen. Im obigen Beispiel könnte so die private ProcessRequest Methode von System.Web.UI.Page nachverfolgt werden:

image

Sogar die Implementierung von System.Threading.ThreadPool weiter oben im Call Stack, die in mscorlib umgesetzt ist, kann ohne Probleme verfolgt werden:

image

Übrigens: Die "Locals" und "Watch" Panels des Visual Studio Debuggers werden auch für den .NET Framework Quellcode vollständig unterstützt!

 

Microsoft mag sich den ein oder anderen Vorwurf auch in Zukunft gefallen lassen müssen. Mit der konsequenten Verfolgung einer Strategie für "mehr offene Quellen" verhalten sich die Redmonder jedoch wieder einmal wegweisend, wenn es darum geht, eine weltweite Entwicklerbasis durch First Class Treatment zu beeindrucken. Hut ab!

 

comments
24100.net stated:
# Visual Studio 2008 und .NET Framework 3.5
Visual Studio 2008 und .NET Framework 3.5
posted on 11/7/2007 2:08 PM
ccc stated:
# re: Microsoft veröffentlicht den Source Code des .NET Frameworks
reinkopiert und veraltet ?
posted on 7/8/2008 5:37 PM
post your comment
Title *
Name *
Email
Url
Comment *  
Please add 8 and 6 and type the answer here: