2008年4月28日星期一

用脚本批量下载.NET Framework源码

微软将.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

2008年4月5日星期六

推荐Serv-U 7.x

Serv-U 3.x开始用起,界面和功能一直没有大的改变,这回的7.x是动真格了。
看官方网站的介绍: http://www.serv-u.com/features/default.asp
试用了一段,大体的变化如下:

支持更多的认证方式,包括Windows认证、数据库认证。以前都要靠Serv-U Plus和动网之类的论坛、整站系统做整合,现在应该更简单了。

支持WEB远程管理!这跟传统Serv-U的区别好比Remotely AnywherePCAnywhere的区别,前者只要打开浏览器,就可以随时随地地控制服务器!而后者需要客户端。


基本WEB客户端,这个跟管理界面不一样,是给用户使用的,用户除了以ftp://domain的形式访问,还可以http://domain的方式访问,会显示一个登录界面,以及一个简单的网页,可以在网页上进行下载。以前我是用hfs来解决的。虽然Serv-U的五花八门功能不如hfs那样多,但从权限集成管理的角度来说,Serv-U还是有好处的。


看来WEB做界面真是大势所趋啊,做新的系统架构时得注重往这方面倾斜了。

推荐Serv-U 7.x

Serv-U 3.x开始用起,界面和功能一直没有大的改变,这回的7.x是动真格了。
看官方网站的介绍: http://www.serv-u.com/features/default.asp
试用了一段,大体的变化如下:

支持更多的认证方式,包括Windows认证、数据库认证。以前都要靠Serv-U Plus和动网之类的论坛、整站系统做整合,现在应该更简单了。

支持WEB远程管理!这跟传统Serv-U的区别好比Remotely AnywherePCAnywhere的区别,前者只要打开浏览器,就可以随时随地地控制服务器!而后者需要客户端。


基本WEB客户端,这个跟管理界面不一样,是给用户使用的,用户除了以ftp://domain的形式访问,还可以http://domain的方式访问,会显示一个登录界面,以及一个简单的网页,可以在网页上进行下载。以前我是用hfs来解决的。虽然Serv-U的五花八门功能不如hfs那样多,但从权限集成管理的角度来说,Serv-U还是有好处的。


看来WEB做界面真是大势所趋啊,做新的系统架构时得注重往这方面倾斜了。