使用NAnt構建入門

出處: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後可以看到:

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的幫助文檔:)

 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章