.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