Now that the .NET Reference Source Code for .NET 3.5 SP1 has made it up to Microsoft’s servers, Kerem Kusmezer and I updated NetMassDownloader to support populating your symbol server cache directory with all the source code and symbols. Microsoft did some tweaks to the debugger with SP1 and the symbols are expected to be in a MicrosoftPublicSymbols directory under your symbol cache in order to download the reference source files in the debugger. I also cleaned up the program output, fixed a problem where NetMassDownloader wasn’t delete temporary files correctly, and handled the case where the download PDB files have source server information but is missing the HTTP download info.
If you’ve used a prior version of NetMassDownloader, it’s probably best if you delete your cache directory and start fresh. Also note that NetMassDownloader 1.5 assumes that if you are using VS 2008 you have applied SP1. VS 2005 and CodeGear are still supported as they were before.
If you’re like me and want to use both the reference source code server (http://referencesource.microsoft.com/symbols) as well as Microsoft’s normal public PDB server (http://msdl.microsoft.com/download/symbols) so you can get the public symbols for the operating system and the other things you debug, you’ll find that the debugger downloads the symbols to both your symbol cache directory and the MicrosoftPublicSymbols directory underneath it. Since not everyone uses both Microsoft symbol servers, I didn’t add the support to NetMassDownloader to copy the symbol files from the MicrosoftPublicSymbols to the main symbol server cache. I manually copied the folders after running NetMassDownloader and the debugger is happy.
With the recursive directory support in NetMassDownloader, it’s trivial to grab all the .NET 3.5 SP1 reference source. Here’s the command line I used on Vista x64 to grab both the 32-bit and 64-bit .NET binaries:
Netmassdownloader -d c:windowsMicrosoft.NET –d “c:Program FilesReference Assemblies”
With an empty symbol cache, it’ll take a while so you might want to let the command run over lunch. If it’s still running when you get back, there’s always Solitaire.
As always, please file bug reports and features request as the NetMassDownloader page on CodePlex.