出處:http://hi.baidu.com/lanxmail/blog/item/280779e761969b2db8382052.html
前言:
NAnt是一項開源的項目,利用NAnt,你可以方便快捷地對自己.NET項目或解決方案進行自動構建。與VS中可視化化極強的項目和解決方案管理相比,NAnt只能命令行的方式操作,但是這並不影響Nant的流行。NAnt可以根據我們的需要,幫我們自動構建項目,比如創建文件夾,移動文件,運行指定的程序等等,這些都是VS無法辦到的。
範例代碼:/Files/gpcuster/NAntDemo.rar
正文:
如果你的機器上沒有安裝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後可以看到:
然後,我們在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窗口中來運行這個構建文件,如下圖所示:
我們用-buildfile:來指定需要構建的文件的地址(D:"my.build)。可以看到,這個文件就是顯示了一個字符串:Hello NAnt。
下面,我們來看看這個文件中的3個重要標誌:
1. project表示構建文件的項目,每個構建文件有且盡有一個項目,他包括一系列的target,name="Aaron.Guo.NAnt.Project"說明項目名稱是Aaron.Guo.NAnt.Project,這是可選的default=" show "表示項目的默認目的(target)是show,basedir="."表示基準目錄爲當前目錄。
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文件也沒有被編譯也沒有被運行。原因是這個項目默認的target是show,所以編譯和運行的target都沒有執行。因此,我們需要顯示的指定相應執行的target。
下面,爲了執行build,我們輸入nant –buildfile:D:"my.build build 執行的輸出如下圖所示:
並且我們可以在D:/HelloNAnt/bin中找到生成的可執行文件HelloNAnt-cs.exe
然後,我們再來輸入nant –buildfile:D:/my.build run 結果如下:
如果我們希望先顯示消息,在運行程序,可以執行一下的命令:nant –buildfile:D:/my.build show run 結果如下:
現在,相信大家已經對NAnt的使用有了一定的瞭解了。
後記:
相信在不久的將來,NAnt也會擁有漂亮方便的圖形界面操作方式,功能也將越來越完善。
關於更多更詳細的介紹,請大家查看NAnt的幫助文檔:)