Dot Net Framework Source Code

Find Tips and tricks on how to better use the Zeus IDE. Feel free to post your own tips but please do not post bug reports, feature requests or questions here.
Post Reply
jussij
Site Admin
Posts: 2650
Joined: Fri Aug 13, 2004 5:10 pm

Dot Net Framework Source Code

Post by jussij »

The source code .Net Framework can be downloaded from here: http://referencesource.microsoft.com/

This means that with a little setup, it is possible to easily navigate the .Net source code from inside Zeus.

To do this, just use the Workspace, Import menu and import the ndp.sln Visual Studio solution file that comes with that code.

Note: The .Net source code weighs in at some 14,000 files and 190 MBytes so it will take Zeus about 20 minutes to tag all those files.

After importing that solution file some 60+ tag database files will have been created covering the source code for the entire framework:

Code: Select all

    System.Activities.Core.Presentation.zbd
    System.Activities.DurableInstancing.zbd
    System.Activities.Presentation.zbd
    System.Activities.zbd
    System.AddIn.Contract.zbd
    System.AddIn.zbd
    .......
    .......
    .......
    System.zbd
    UIAutomationClient.zbd
    UIAutomationClientsideProviders.zbd
    WindowsBase.zbd
    WsatConfig.zbd
    WsatUI.zbd
    XamlBuildTask.zbd
Any or all of these files can then attached to the C# Document Type using the Tags Database panel.

So for example if the following tag database file is added to the C# Document Type:

Code: Select all

System.Data.zdb
Then from inside a C# source file by doing a tag lookup (i.e. goto defintion) for this item of code:

Code: Select all

DataTable
will load the DotNet\Source\ndp\fx\src\Data\System\Data\DataTable.cs file and place the cursor at this code location:

Code: Select all

/// <devdoc>
/// <para>Initializes a new instance of the <see cref='System.Data.DataTable'/> class with no arguments.</para>
/// </devdoc>
public DataTable() {
    GC.SuppressFinalize(this);
    Bid.Trace("<ds.DataTable.DataTable|API> %d#\n", ObjectID);
    nextRowID = 1;
    recordManager = new RecordManager(this);

    _culture = CultureInfo.CurrentCulture;
    this.columnCollection = new DataColumnCollection(this);
    this.constraintCollection = new ConstraintCollection(this);
    this.rowCollection = new DataRowCollection(this);
    this.indexes = new List<Index>();

    rowBuilder = new DataRowBuilder(this, -1);
}
With the Zeus NDP workspace open you can also use the Class Browser to get a better handle on how the code is structured:
Image

Thus by add in all these tag database files, it will allow you to navigate the entire .Net source code from inside Zeus ;)

Cheers Jussi
Post Reply