Wednesday, February 06, 2008

Download all the .Net Source/Reference code/PDB's at once with .Net Mass Downloader

John Robbins' Blog - Download All the .NET Reference Source Code at Once with Net Mass Downloader

"Microsoft has really helped out the development community by making the .NET Reference Source Code available to the community. Being able to step in the debugger from your code to the Framework code truly helps with you understanding and use of all parts of .NET. The only drawback I've seen with what Microsoft is offering is that the source code can only be downloaded while you're debugging. ...

It turns out I wasn't the only one who had the same wishes. Kerem Kusmezer contacted me and said that he'd been hacking around with Fiddler and figured out how to download the PDBs and code from Microsoft. He asked if I I'd be interested in helping him develop the utility and I don't think I ever wrote a response faster in my life! Kerem had already started a discussion with Shawn Burke about the legality of producing a source downloader and once we got back a very encouraging "go for it" we got to work. ...

The tool is called Net Mass Downloader and we made the source code available at CodePlex at http://www.codeplex.com/NetMassDownloader so you can see how it works. It's a command line tool and running the tool without parameters produces the following output:

..."

If you want the .Net reference/source code, but don't want to wait for it to download "on demand," the .Net Mass Downloader utility built just for you...

 

Related Past Post XRef:
It's .Net Source Day! Let the Source Loose.... Today is the day you can configure VS2008 to grab the actual source code to the .Net Framework and step into it as you debug...

3 comments:

  1. Hey, this doesn't download the actual source. I ran...

    D:\MSSourceMassDownloader>netmassdownloader -v -output "d:\mssourcemassdownloader\src" -d "C:\Windows\Microsoft.NET\Framework\v2.0.50727"

    which pulled down a bunch of stuff, but every single file, ex (D:\MSSourceMassDownloader\src\redbits\ndp\clr\src\BCL\System\MulticastDelegate.cs)

    has a EUL in it instead of code. i.e.

    SYMSRVCOMMAND:
    YESNODIALOG:
    IDYES:Accept:Accept=005c6c7d6b27412da1da64e8388980b6
    IDNO:Decline:Decline=005c6c7d6b27412da1da64e8388980b6
    TITLE:End User License Agreement
    BUTTONDESCRIPTION:Please read carefully and understand the license agreement above. If you want to accept the license agreement, please click the “Accept” button.
    TEXT:This license applies to the .NET Framework components that Microsoft makes available to you in source code form. To print these terms, select the contents of this area and copy then paste into an application that can print text.

    MICROSOFT .NET FRAMEWORK REFERENCE LICENSE
    .NET FRAMEWORK REFERENCE SOURCE CODE


    This license governs use of the accompanying software. If you use the software, you accept this license. If you do not accept the license, do not use the software.
    1. Definitions
    The terms "reproduce," "reproduction" and "distribution" have the same meaning here as under U.S. copyright law.

    "You" means the licensee of the software, who is not engaged in designing, developing, or testing other software, for a non-Windows operating system, that has the same or substantially the same features or functionality as the software.



    Am I missing something?

    ReplyDelete
  2. Not sure... I've not yet had a chance to try it yet.

    You are using VS2008? And have it setup to download the source?

    I seem to remember that the first time I downloaded the reference/source while debugging in VS2008 that I got a EULA that I had to agree too...

    ReplyDelete
  3. Just in case you didn't see it...
    V1.1 of the Downloader has been released.

    Thanks for the heads up Kerem.

    So if you're having problems, make sure you get the latest version from its CodePlex project page...

    ReplyDelete

NOTE: Anonymous Commenting has been turned off for a while... The comment spammers are just killing me...

ALL comments are moderated. I will review every comment before it will appear on the blog.

Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...

I reserve, and will use, the right to not approve ANY comment for ANY reason. I will not usually, but if it's off topic, spam (or even close to spam-like), inflammatory, mean, etc, etc, well... then...

Please see my comment policy for more information if you are interested.

Thanks,
Greg

PS. I am proactively moderating comments. Your comment WILL NOT APPEAR UNTIL I approve it. This may take some hours...