tags:

views:

121

answers:

4

A year and a half ago, Microsoft released the source code for the .Net Framework BCL for debugging purposes. This incredibly useful offering has had a tremendous impact on my debugging experience.

It was mentioned that they were working integrating the source release into their build process, but this appears to have fallen through.

The latest releases of the .Net Framework assemblies (including patches and hotfixes) do not have source available at all.

What can we do to convince Microsoft to maintain this excellent offering, especially for the upcoming release of .Net 4.0?

+1  A: 

We personally cannot, maby with enough peer pressure we might get lucky, but unless people inside of microsoft decide to follow through with it were stuck with what they decide to give us :/

I did hear they were working more with the mono group tho.

On another note give this a read, gave me a smile earlier.

Microsoft will be applying the Community Promise patent licensing to both C# and the CLI.

Fusspawn
+3  A: 

On a related note, I wish Microsoft would improve their employee-stripper.

Before releasing the source code, it is run through an automated utility that replaces names of Microsoft developers with [....].

However, this utility is not limited to comments. If a piece of code happens to contain a developer's login name, it is also replaced, causing large numbers of syntax errors which pollute the Error List in VS2008 SP1.

For example, line 5200 of ToolStrip.cs is

        private RelativeLocation ComparePositions(Rectangle [....], Point check) {

The parameter name is actually orig (see Reflector).


Also, some of the juicier bits of the framework do not have source released at all.

The Odbc and OleDb classes in System.Data, the Zip file code in WindowsBase, and several other files contain several hundred blank lines with no source code.

SLaks
+4  A: 

I don't believe that they care much about it. If you just want to see and learn from the code, you could give .Net Reflector a try. But I think you're more concerned with the debug experience. In that case, I don't think we can do much about it.

Fernando
I also want comments, and the original code for iterators (Which Reflector doesn't handle well).
SLaks
A: 

As an alternative to using the Microsoft sources, have you seen TestDriven.NET's debugger integration with Reflector? It essentially lets you step through the disassembled IL of an assembly.

Jaime Cansdale gives an overview in this article.

Steve Guidi