.NET Reference Source Project

Eintrag zuletzt aktualisiert am: 15.02.2022

Am 16. Januar 2008 hat Microsoft unter dem Titel ".NET Reference Source Project " den Quellcode zahlreicher .NET-Bibliotheken zur Einsicht innerhalb des Visual Studio-Debuggers freigegeben. Anders als im Rahmen des Rotor-Projekts kann man nicht C#-Quellcodedateien herunterladen, sondern erhält Visual Studio-Debugger-Dateien (.pdb), die man nur im Rahmen eines Debugging-Vorgangs in Visual Studio nutzen kann. Beim Aufruf eines Property oder einer Methode in einer der unterstützten .NET-Bibliotheken kann man im Rahmen eines Debugging-Vorgangs "hineinschreiten" (Taste F11 oder wie in Menü Debug/Step Into) wie in selbstentwickelten Programmcode. Visual Studio zeigt dann den Quellcode und die von den Microsoft-Entwicklern hinterlegten Kommentare an.

Voraussetzung ist die Konfiguration von Visual Studio zur Nutzung des Symbolservers http://referencesource.microsoft.com/symbols in den Visual Studio-Einstellungen in der Sektion "Debugging".

Beim Debugging muss man dann jeweils an einem Haltepunkt die Symboldateien anfordern. Dies erfolgt mit dem Befehl "Load Symbols" aus dem Call Stack-Fenster. Sobald die entsprechende Assembly von dem Redmonder Symbolserver geladen ist, erscheinen die entsprechenden Zeile im Call Stack-Fenster nicht mehr in grau, sondern in schwarz. Sodann funktioniert Debug/Step Into (Taste F11).

Wichtige Informationen:
  • Man muss "Load Symbols" nach einem Neustart des Debuggers jeweils erneut für jede Bibliothek ausführen. Die PDB-Dateien werden aber in einem lokalen Verzeichnis zwischengespeichert und müssen daher nicht immer wieder von dem Symbolserver geladen werden.
  • Man kann derzeit auch nicht alle pdb-Dateien auf einmal laden, sondern immer nur einzeln anfordern.

*** Update: Seit 12.11.2015 ist .NET Open Source.

Website

https://referencesource.microsoft.com/

Details

https://www.heise.de/developer/artikel/Quellcode-einiger-NET-Bibliotheken-jetzt-verfuegbar-352033.html

Verfügbare Bibliotheken (Stand 20.01.2008)

Mscorlib.DLL
System.DLL
System.Data.DLL
System.Drawing.DLL
System.Web.DLL
System.Web.Extensions.DLL
System.Windows.Forms.DLL
System.XML.DLL
WPF (UIAutomation*.dll, System.Windows.DLL, System.Printing.DLL, System.Speech.DLL, WindowsBase.DLL, WindowsFormsIntegration.DLL, Presentation*.dll, some others)
Microsoft.VisualBasic.DLL

Verfügbare Bibliotheken (Stand 25.6.2015)

Alle .NET-Bibliotheken