软件频道>程序开发>JavaVBVCDelphiC/C++Web开发微软专栏移动数据库程序人生软件工程|开发客
您现在的位置: 天极网 > 开发频道 > 完全命令行.NET开发
全文

完全命令行.NET开发

2008-04-03 09:24作者:CSDN出处:天极网责任编辑:孙蓬阳

  Windows系统的GUI太好用了,以至于很多Windows开发者都不知道还有更好用的命令行模式。命令行模式可以把自己经常使用的功能写成脚本,一个命令就可以全部工作执行掉,实在是广大程序员同志的福音啊。

  NAnt

  Java的开发者都知道Ant,但是.net的开发人员却很少有使用NAnt的。大部分程序员同志都习惯了按下F7,然后把生成物复制到部署文件夹下面,注册dll,修改配置文件,建立数据库、数据表、初始化数据,启动服务。很好,但是千万不要忘了某些步骤,否则早上用户来上班,打开电脑,出现一堆ERROR,运维的电话会被打爆的。

  用NAnt吧,编译、测试、部署、服务恢复都可以用一个脚本解决。这里是NAnt主页,下载包里面有Samples可以看,还有帮助文档。NAnt集成了大部分.NET开发的命令:编译、复制、NUnit测试,还可以用Tag执行系统命令,用这个Tag可以执行诸如“net start”之类的命令,方便的重启Windows服务。这样一来,除了代码要自己写,剩下的工作一个NAnt脚本完成,开发人员,你们有福了。

  运维人员也不用担心系统部署了,不再需要在文档堆中挣扎,不小心忘记注册了某个dll,或者缺少了一个sql脚本。看看NAnt脚本吧,一切都在那里,一个脚本胜过千言万语。

  写一个NAnt脚本吧,写一次需要一天,写完了可以用一年。

  SDK命令

  NAnt尽管提供了很多编译命令,但是项目更新速度实在是…….NET的开源项目比起Java来就是差远了啊。比如最新的NAnt,竟然不能编译Visual Studio 2005的solution。不要紧,我们可以使用万能的Tag。Visual Studio和.NET Framework SDK都是提供了很多命令行工具的,比如下面的命令,就可以对solution进行编译,并且把编译过程记录在build.log日志里:

  devenv HelloWorld.sln /Build Debug /Out build.log

  正常情况下,devenv程序应该在你的机器上这个位置:%ProgramFiles%\Microsoft Visual Studio 8\Common7\IDE,运行“devenv /?”可以得到帮助,这里有命令的说明:http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vsintro7/html/vxgrfCommandLineSwitches.asp

  有了这些命令,再用NAnt集成起来,可以减少很多手工的工作。比如我们需要使用xsd命令生成cs代码,再复制到指定的文件夹,编译成dll,然后依赖这个dll编译新的项目,这一系列行为都可以集成在一个NAnt文件里,一键OK。

  其他程序的命令行模式

  MS提供的很多程序实际上都是具有命令行模式的,比如Sql Server的客户端工具,就提供了sqlcmd命令行工具,下面的命令就可以连接到mydb数据库,并且在数据库上执行ct.sql脚本:

  sqlcmd -S131.30.20.15 -Uuid -Ppwd -dmydb -ict.sql

  有了这个工具,就可以在NAnt脚本里写一个install段,把安装数据库、建立数据表、初始化数据等等一切的工作都写在里面,随系统安装一起执行。

  如果已经安装了Sql Server 2005 Native Client,可以打开命令行窗口,运行“sqlcmd /? ”看到命令的帮助,对于Sql Server 2000的客户端,MS也提供了isql命令实现同样的功能,命令参数也差不多。

  MS为一些应用程序提供了VBScript控制方式,比如这个脚本:RestartBizTalkHostInstances.vbs,他可以重新启动BizTalk服务所有的宿主进程,每次更新部署一个BizTalk业务流程之后需要进行这个操作,新的流程才能启用。可以在命令行中这样运行VB脚本:

  cscript /NoLogo RestartBizTalkHostInstances.vbs

  这样的脚本在MS随软件发布的SDK和Sample中有很多,这个脚本就是来自BizTalk的SDK。

  加强Windows的命令行

  Windows本身提供的命令行工具非常弱,至少比起Unix/Linux平台差远了啊。于是有一些工具对他进行了补充,最简单的方式,他们把一些Unix/Linux下面的命令移植到Windows上面来了,比如UnxUtils项目,把这个东西下载解压,设置一下PATH环境变量,就可以使用Linux下面最常用的一些命令。比如下面的命令就能看到当前目录下所有包含“CPMIS”字符串的文件:

  grep CPMIS *

  下面的命令可以遍历下级目录,找到全文中同时含有“CPMIS”和“Info”的文件:

  grep -r CPMIS * | grep Info

  UnxUtils还收入了ls、cp、rm、tail、tar、gzip、sed、diff等一些Unix家常工具,如果你要进行日志分析,或者需要修改上千个文件名,再进行压缩打包备份,这些工具会大大的帮助你。

  另外还有一个东东叫做Cygwin,他是Windows平台上的Linux模拟器,他提供了一个模拟环境,和一些命令工具,使用起来一切都和Linux平台一样。

  有了这些东西,再加上一个VIM,这是一个纯命令行的文本编辑工具,我相信我们迟早能打造一个纯命令行的开发环境,告别蓝色白色红色的窗口

相关搜索:
关注此文读者还看过
文章排行
本周
本月
最近更新
关于我们|About us|网站律师|天极服务|电子杂志|RSS订阅|加入我们|网站地图
TMG
Copyright (C) 1999-2009 Chinabyte.com, All Rights Reserved 版权所有 天极网络
商务联系、网站内容、合作建议:010-82657868
版权声明 在线提交意见反馈 渝ICP证B2-20030003号
经营性网站备案信息 网警备案 中国网站排名
天极传媒:天极网|比特网|IT专家网|IT商网|52PK游戏网|IT分众