.net 中使用NAnt构建入门

来源:互联网 发布:局域网网络测速工具 编辑:程序博客网 时间:2024/05/19 20:46

前言:

NAnt是一项开源的项目,利用NAnt,你可以方便快捷地对自己.NET项目或解决方案进行自动构建。与VS中可视化化极强的项目和解决方案管理相比,NAnt只能命令行的方式操作,但是这并不影响Nant的流行。NAnt可以根据我们的需要,帮我们自动构建项目,比如创建文件夹,移动文件,运行指定的程序等等,这些都是VS无法办到的。
范例代码:/Files/gpcuster/NAntDemo.rar

正文:

  www.jiedichina.com 南京捷帝科技

如果你的机器上没有安装NAnt,请先到http://nant.sourceforge.net 下载,并安装到机器上。
由于NAnt是基于命令行的工具,所以,我们第一步需要配置环境变量:在环境变量设置窗口中找到Path目录,将Nant.exe所在的目录(如C:"Program Files"nant-0.85"bin)添加进去即可。
如果你对配置环境变量不熟悉,也可以在系统目录(如C:"Windows)下添加一个nant.bat文件, nant.bat文件的内容如下:
@echo off
"C:/Program Files/nant-0.85/bin/NAnt.exe" %*

然后,你打开CMD窗口,输入nant后可以看到:

clip_image002

 

然后,我们在D盘的根目录下新建一个NAnt的构建文件,命名为my.build(NAnt的构建文件的后缀名是build)
虽然NAnt构建文件的后缀名不是XML,但是他的文档格式还是基于XML的,所以改文件的开头需要注明<?xmlversion="1.0"?>。在下面我们再加入其他的元素,整个文件的内容如下:
<?xmlversion="1.0"?>
<projectname="Aaron.Guo.NAnt.Project"default="show"basedir=".">
 <targetname="show">
    <echomessage="Hello NAnt"/>
 </target>
</project>

保存以后,我们在CMD窗口中来运行这个构建文件,如下图所示:

clip_image004

 

我们用-buildfile:来指定需要构建的文件的地址(D:"my.build)。可以看到,这个文件就是显示了一个字符串:Hello NAnt。
下面,我们来看看这个文件中的3个重要标志:
1.   project表示构建文件的项目,每个构建文件有且尽有一个项目,他包括一系列的target,name="Aaron.Guo.NAnt.Project"说明项目名称是Aaron.Guo.NAnt.Project这是可选的default=" show "表示项目的默认目的(target)是showbasedir="."表示基准目录为当前目录。
2.   target 表示一个目的,他包括一系列的task,name="show"指定目的的名称,这个是必选的。
3.   echo是一个任务(task)他用来显示一个特定的字符串,message="Hello NAnt"表示要显示的字符串为Hello NAnt
下面,我们用这个构建文件来编译生成一个简单的CS文件。
my.build文件修改后的内容如下:
<?xmlversion="1.0"?>
<projectname="Aaron.Guo.Second.Project"default="show"basedir=".">
 
 <propertyname="basename"value="HelloNAnt"/>
 <propertyname="debug"value="true"/>
 
 <!--显示消息-->
 <targetname="show">
    <echomessage="Hello NAnt"/>
 </target>
 <!--编译文件-->
 <targetname="build">
    <mkdirdir="${basename}/bin" />
    <csctarget="exe"output="${basename}/bin/${basename}-cs.exe"debug="${debug}">
      <sources>
        <includename="${basename}/${basename}.cs"/>
      </sources>
    </csc>
 </target>
 <!--运行文件,run基于build-->
 <targetname="run"depends="build">
    <execprogram="${basename}/bin/${basename}-cs.exe"basedir="."/>
 </target>
 
</project>
然后D盘根目录下新建一个HelloNant文件夹,并在里面添加一个HelloNant.cs文件,该文件的内容如下:
namespace Aaron.Guo.Second.Project
{
    public class HelloNAntCS
    {
        static void Main()
        {
            System.Console.WriteLine("Hello NAnt using C#");
        }
    }
}
好,我们在CMD窗口中运行nant –buildfile:D:"my.build
可以看见,显示的东西还是和上次一样,而且CS文件也没有被编译也没有被运行。原因是这个项目默认的targetshow,所以编译和运行的target都没有执行。因此,我们需要显示的指定相应执行的target
下面,为了执行build,我们输入nant –buildfile:D:"my.build build 执行的输出如下图所示:

clip_image006

 

并且我们可以在D:/HelloNAnt/bin中找到生成的可执行文件HelloNAnt-cs.exe
 
然后,我们再来输入nant –buildfile:D:/my.build run 结果如下:

clip_image008

如果我们希望先显示消息,在运行程序,可以执行一下的命令:nant –buildfile:D:/my.build show run 结果如下:

clip_image010

现在,相信大家已经对NAnt的使用有了一定的了解了。

后记:

相信在不久的将来,NAnt也会拥有漂亮方便的图形界面操作方式,功能也将越来越完善。

关于更多更详细的介绍,请大家查看NAnt的帮助文档和示例

www.jiedichina.com 南京捷帝科技