1、系统需求
使用Nant,需要具备以下一种CRL:
· Microsoft .NET Framework 1.0
· Microsoft .NET Framework 1.1
· Microsoft .NET Framework 2.0 Beta 1
· Mono 1.0.x
依赖的库文件
Nant使用了许多开源的第三方组件库,nant的最近版本中包含了这些组件,在安装nant时不需要做额外的工作。有关这些组件的更多信息请参考以下链接:
NUnit - Required for unit testing
NDoc - Required for documentation generation
SharpZipLib - Required for the zip and unzip tasks
2、安装
无论是源代码还是编译好的二进制文件,Nant都是可以使用的。编译好的二进制文件是建立工程所需要的,包括构建tasks, types 和 functions。
从二进制文件安装:
1)
下载nant-bin.zip
或nant-bin.tar.gz
2)
从机器上删除以前的旧版本
3) 解压缩下载的压缩文件到你期望安装
NAnt的地方
4) 根据你的机器环境,构建一个脚本文件来运行Nant:
Ø 在.NET下运行Nant:
新建一个批处理文件,如nant.bat
,在里面加入如下内容,注意把红色部分换成自己机器上的
Nant
的安装路径,然后运行这个批处理文件即可:
@echo off
"C:/Program Files/NAnt/bin/NAnt.exe" %*
Ø 在Mono下运行Nant:
Windows环境:同.NET
Linux / Cygwin:在你的文件系统的适当位置创建一个名称为nant的文件(例如/usr/local/bin),在文件中加入以下内容:
#!/bin/sh
exec mono /usr/local/nant/bin/NAnt.exe "$@"
确保nant有运行的权限,如:chmod a+x /usr/local/bin/nant
5) 打开命令行窗口,把目录切换到装有nant的文件夹,执行nant –help,如果安装正确,你就会看到以命令行选项显示的使用信息。
6) (选做)下载、安装NAnt-contrib或其他第三方扩展程序。
从源代码进行安装:
1) 下载nant-src.zip
或nant-src.tar.gz
2)
从机器上删除以前的旧版本
3) 解压缩下载的压缩文件到你期望安装
NAnt的地方
4) 打开命令行提示符窗口,把目录切换到你把文件解压缩到的地方
5) 根据你的机器环境,编译Nant:
Ø 在.NET下:
n GNU Make
make install MONO= MCS=csc prefix=installation-path
例如:make install MONO= MCS=csc prefix="C:/Program Files"
n NMake
nmake -f Makefile.nmake install prefix=installation-path
例如:nmake -f Makefile.nmake install prefix="C:/Program Files"
Ø 在Mono下:
§ GNU Make
make install prefix=installation-path
eg. make install prefix="C:/Program Files"
§ NMake
nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=installation-path
eg. nmake -f Makefile.nmake install MONO=mono CSC=mcs prefix=/usr/local/
这会生成一个bootstrap版本的nant,然后使用它生成、安装full版本的nant:installation-path/NAnt
6) 打开命令行窗口,把目录切换到装有nant的文件夹,执行nant –help,如果安装正确,你就会看到以命令行选项显示的使用信息。
7) (选做)下载、安装NAnt-contrib或其他第三方扩展程序。
3、运行例子程序
打开命令行窗口,把目录切换到装有nant的文件夹,输入以下命令行并执行,注意红色部分换成自己的例子程序的路径:
Nant –buildfile:../examples/examples.build
成功会显示编译信息。
Nant的Build文件是用xml写的。每一个文件包含一个工程(project)和几个对象(target),每一个对象包含几个任务(taek)。下面是一个编译HelloWorld(c#)工程的简单build文件。
<?xml version="1.0"?>
<project name="Hello World" default="build" basedir=".">
<description>The Hello World of build files.</description>
<property name="debug" value="true" overwrite="false" />
<target name="clean" description="remove all generated files">
<delete file="HelloWorld.exe" failonerror="false" />
<delete file="HelloWorld.pdb" failonerror="false" />
</target>
<target name="build" description="compiles the source code">
<csc target="exe" output="HelloWorld.exe" debug="${debug}">
<sources>
<includes name="HelloWorld.cs" />
</sources>
</csc>
</target>
</project>
在这个例子里面,有"clean" and "build". 两个对象。缺省时,“build”任务会被调用。
在examples 文件夹内,你能找到运行这些粒子所需的文件。
nant:在debug模式(缺省)下运行nant并构建工程。
nant clean:运行nant并删除已编译好的文件。
nant -D:debug=false:在non-debug 模式下运行nant并生成工程。尽管build文件的debug 属性为真(true),命令行中设置的值不会受影响,就像 <property>
任务中的“overwrite”属性被设置为假(false)。
重要提示:如果产生的文件的日期比源文件的日期早,将仅仅执行像编译器任务这样的任务。如果你在debug模式下编译HelloWorld工程,然后什么东西也不清除,在no-debug模式下重新编译,这种情况就会发生,因为nant工程不需要被重新生成。
1、运行nant
一旦安装了Nant,运行是很简单的,仅仅是输入nant。输入nant –help能够得到用法信息。
1) 指定build文件
没有指定文件时,NAnt会在当前文件夹中寻找.build文件,例如NAnt.build。如果找到了,NAnt就把它作为build文件使用。如果找到了一个以上的文件,你需要使用-buildfile选项(用法见下面)指定一个文件。
如果你使用-find选项,NAnt会到父目录中寻找build文件,如此继续,直至到达根目录。使用命令行选项-buildfile:file可以使NAnt使用其它的build文件。
2) 指定对象
你可以指定一个或多个将要被执行的对象。当忽略时,<project>
标签的
default
属性指定的对象将被使用。
如果工程有描述存在,
Projecthelp
将把它打印出来,紧跟在描述后面的是工程的对象列表。
3) 设置属性
使用-D:property=value
撤销
build
文件中指定的属性,其中
property
是属性的名称,
value
是属性的值。
4) 例子
Nant:在当前目录中使用*.build
结尾的xml
文件运行nant,使用缺省对象。
NAnt -buildfile:../ProjectName.build:使用父目录下的ProjectName.build
文件,,使用缺省对象。
Nant clean:在当前目录使用
build
文件运行
nant
,使用名称为
clean
对象。
NAnt -D:debug=false clean dist:使用当前目录中缺省的build文件运行nant,当设置debug
为
false
的时候,先使用
clean
对象,然后使用
dist
对象。