使用NAnt構建入門

作者: 逖靖寒  來源: 博客園  發布時間: 2008-08-16 23:32  閱讀: 2236 次  推薦: 0   原文鏈接   [收藏]  

前言:

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

0
0
 
 
 

文章列表

全站熱搜
創作者介紹
創作者 大師兄 的頭像
大師兄

IT工程師數位筆記本

大師兄 發表在 痞客邦 留言(0) 人氣()