微软将.NET Framework开源之后,掀起一大学习浪潮,不过微软提供的方法比较土一点。用户在Visual Studio中设置断点之后,VS自动连接微软的服务器进行PDB和源码的下载。虽然它有缓存机制,但还是太太太慢了。例如System.Windows.Forms.pdb有10MB,调试程序时根本不能忍受。于是有了大天使迦百列NetMassDownloader 这是个命令行工具,能批量下载PDB和src。但是还不是十分好用,尤其是需要敲命令,选择类库路径、版本、目标路径,对于.NET不同的库还要分别下载,以及耗很多时间,有的时候还会下载失败。我们要的是最新的源码,以及PDB。所以俺写了个脚本,可以放在公司服务器上,每晚做成计划任务执行,把目标路径设成共享文件夹(每日覆盖),本地调试的时候,在VS中设置源码路径为共享文件夹。这样第二天早上上班的时候,就可以开心地阅读“fresh new”的源码了。以下是脚本:
@echo 自动下载.NET Framework源码
@echo 需要NetMassDownloader配合,请到http://www.codeplex.com/NetMassDownloader下载
@echo by Victor.Woo 2008.04.28 http://blog.vichamp.com
del Get2.0.cmd
del Get3.0.cmd
del Get3.5.cmd
set targetdir=D:\CSharpSourceCode\Microsoft.Net
for %%a in (Get2.0.cmd Get3.0.cmd Get3.5.cmd) do del /f %%a
echo @echo off>Get2.0.cmd
echo echo Downloading .NET 2.0 Sourcecode...>>Get2.0.cmd
echo NetMassDownloader.exe -d %SystemRoot%\Microsoft.NET\Framework\v2.0.50727 -o %targetdir%\v2.0 -fo>>Get2.0.cmd
echo @echo off>Get3.0.cmd
echo echo Downloading .NET 3.0 Sourcecode...>>Get3.0.cmd
echo NetMassDownloader.exe -d "%SystemRoot%\Microsoft.NET\Framework\v3.0\Windows Communication Foundation" -o %targetdir%\v3.0 -fo>>Get3.0.cmd
echo NetMassDownloader.exe -d "%SystemRoot%\Microsoft.NET\Framework\v3.0\Windows Workflow Foundation" -o %targetdir%\v3.0 -fo>>Get3.0.cmd
echo NetMassDownloader.exe -d "%SystemRoot%\Microsoft.NET\Framework\v3.0\WPF" -o %targetdir%\v3.0 -fo>>Get3.0.cmd
echo NetMassDownloader.exe -d "%ProgramFiles%\Reference Assemblies\Microsoft\Framework\v3.0" -o %targetdir%\v3.0 -fo>>Get3.0.cmd
echo @echo off>Get3.5.cmd
echo echo Downloading .NET 3.5 Sourcecode...
echo NetMassDownloader.exe -d "%ProgramFiles%\Reference Assemblies\Microsoft\Framework\v3.5" -o %targetdir%\v3.5 -fo>>Get3.5.cmd
rem goto end
start Get2.0.cmd
start Get3.0.cmd
start Get3.5.cmd
:end
rem pause


没有评论:
发表评论