一、安装NANT,
(1): http://nant.sourforge.net 上下载最新版本的NAnt安装文件。目前为9.0
(2):解压下载好的文件到本地系统的位置,如C:/Program Files
(3):通过环境配置将C:/Program Files/nant-0.9/bin添加到Path中,或者在C:/windows
目录下创建一个nant.bat文件,内容为
@echo off
"C:\Program Files\nant-0.9\bin\NAnt.exe" %*
双击运行
二、创建构建文件
Nant的构建文件的后缀不为xml,但是符合xml的文档规范
<?xml version=”1.0”?>
<project name=”My Greate Project” default=”test”>
<property name=”basename” value=”MyGreateProject”/>
<property name=”debug” value=”true”/>
<target name=”clean”>
<delete>
<fileset>
<include name=”${basename}-??.exe”/>
<include name=”${basename}-??.pdb”/>
</fileset>
</delete>
</targer>
<target name=”compile”>
<csc target=”exe” output=”${basename}-cs.exe” debug=”${debug}”>
<sources>
<includes name=”${basename}.cs”/>
</sources>
</csc>
</target>
<target name =”test” depends=”compile”>
<exec program=”${basename}-cs.exe” basedir=”.”/>
</target>
</project>
在文件中有3种重要标志:
1. Project表示构建文件的项目,每个构建文件有且只有一个项目,他包括一系列的target name=“My Greate Project”表示项目的名称,或者说是C#中的namespace,后面是可选的default=”show”,表示项目默认的目的,basedir=“.”表示基准目录为当前目录。
总而言之,Project标记可以定义一个name特性(Attribute)和一个default特性,name特性在Nant运行时构建的输出中使用。
2. property是另一个重要属性,属性包含一个名称(由name表示)和一个值(value表示)一旦属性定义完成吗,就可以通过下述方式引用属性的值:
“${basename}”
3. target标记,target标记与name特性一起定义,而name特性在构建文件中必须是唯一的,应当注意的是,无论是否定义(未定义目标则使用预定义为默认目标)NAnt是通过名称来找到目标,无法定位目标则报错,其次,一旦定位到目标,Nant就会检查目标是否通过depends特性定义的依赖目标,若存在依赖目标,则首先执行依赖目标。
以下列举了构建文件中定义3个目标:clean,compile,和test
Clean的目标是为了移除构建这个项目过程中所产生的文件,可以确保项目的构建是从头开始的。
<target name=”clean”>
<delete>
<fileset>
<include name=”${basename}-??.exe”/>
<include name=”${basename}-??.pdb”/>
</fileset>
</delete>
</targer>
Delete告诉文件系统要删除的东西,由fileset标记定义。这里,为构建文件制定的文件名称以basename属性中所定义的值开头,后面跟着一个破折号,然后是两个任意字符,最后是文件的扩展名,可以是.exe或者.pdb,
Compile目标定义了需要编译的内容,以及如何进行编译。
<target name=”compile”>
<csc target=”exe” output=”${basename}-cs.exe” debug=”${debug}”>
<sources>
<includes name=”${basename}.cs”/>
</sources>
</csc>
</target>
Csc标记定义.net框架的命令行编译器,csc标记的target特性告诉csc编译器创建一个应用程序作为输出。该应用程序的名称包括basename属性的值,后面跟着一个破折号,然后是字符cs,最后是文件扩展名.exe,debug告诉csc编译器是够开启调试。
<target name =”test” depends=”compile”>
<exec program=”${basename}-cs.exe” basedir=”.”/>
</target>
Test目标使用了一个exec标记,改标记可以执行热河通常在命令行中执行的命令。Program特性制定了可执行文件的名称,而basedir特定制定命令在那个目录执行。为.(点),则表示当前目录。
介绍完三个主要的target,再介绍保存和测试构建文件的方法。
保存构建文件:
构建文件需要与构建的源文件位于同一个目录下。NAnt运行时会自动地查找拥有文件扩展名.build的构建文件,保存代码清单,并命名为default.build
测试构建文件:
将default.build和MyGreateProject.cs放在同个目录下,在命令行窗口,切换到该目录,在命令行上以默认目标输入nant并按回车执行NAnt构建文件。大家也可以试着运行这个构建文件中定义其他不同目标,例如输入 nant clean