日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

使用Nant构建入门

發布時間:2023/12/10 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 使用Nant构建入门 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言:

?

NAnt是一項開源的項目,利用NAnt,你可以方便快捷地對自己.NET項目或解決方案進行自動構建。與VS中可視化化極強的項目和解決方案管理相比,NAnt只能命令行的方式操作,但是這并不影響Nant的流行。NAnt可以根據我們的需要,幫我們自動構建項目,比如創建文件夾,移動文件,運行指定的程序等等,這些都是VS無法辦到的。

1U+jM xz^b:NP0范例代碼:/Files/gpcuster/NAntDemo.rar

:@ A-wu!x0

?

正文:

?

如果你的機器上沒有安裝NAnt,請先到http://nant.sourceforge.net下載,并安裝到機器上。

?

由于NAnt是基于命令行的工具,所以,我們第一步需要配置環境變量:在環境變量設置窗口中找到Path目錄,將Nant.exe所在的目錄(如C:"Program Files"nant-0.85"bin)添加進去即可。

?

如果你對配置環境變量不熟悉,也可以在系統目錄(如C:"Windows)下添加一個nant.bat文件, nant.bat文件的內容如下:

@echo off


`5P&cy,x q0"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表示構建文件的項目,每個構建文件有且盡有一個項目,他包括一系列的targetname="Aaron.Guo.NAnt.Project"說明項目名稱是Aaron.Guo.NAnt.Project,這是可選的default="show "表示項目的默認目的(target)是showbasedir="."表示基準目錄為當前目錄。

?

2.? target表示一個目的,他包括一系列的taskname="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文件,該文件的內容如下:

?

namespaceAaron.Guo.Second.Project

?

{

?

?? publicclassHelloNAntCS

?

??? {

?

?????? staticvoidMain()

?

??????? {

?

??????????? System.Console.WriteLine("Hello NAnt using C#");

?

??????? }

?

??? }

?

}

?

好,我們在CMD窗口中運行nant buildfile:D:"my.build

?

可以看見,顯示的東西還是和上次一樣,而且CS文件也沒有被編譯也沒有被運行。

?

?

原因是這個項目默認的targetshow,所以編譯和運行的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


nant
不像目前版本的visual studio .net,他是個基于.net的編譯(build)工具,能夠使項目的編譯過程非常容易。當項目研發者非常多時,不可能依靠某個人去執行編譯過程,你也不想經常去手工編譯項目,而是代之以創建一個每天晚上自動運行的編譯過程。nant允許你執行編譯解決方案、復制文件、運行nunit測試、發送e-mail等工作。遺憾的是,nant沒有漂亮的圖像化界面,但他包括一個控制臺應用程式和xml文件,xml文件指定了編譯過程中應當完成的任務。注意visual studio 2005新的編譯平臺msbuild,他提供非常穩健的編譯功能并且同樣是由基于xml的項目文件驅動的。


使用nant

在這個例子中,我將為前面創建的nunitexample解決方案創建一個nant編譯文件。首先創建一個以.build 為擴展名的xml文件,將他置于項目的根目錄下,然后在文件頂部添加一個xml聲明。第一個添加的標記是項目標記:


the nunit example project


項目標記設置了項目名稱、缺省目標和基目錄。描述標記設置了該項目的簡要描述。


接下來是添加屬性標記,用于存儲可從文件所有地方訪問的設置值。在本例中,我要創建一個名為debug的屬性,他能設置為truefalse,用于決定項目是否在調試時被編譯(這個特別的屬性最后實際上不影響項目的編譯,他是你設置的一個簡單變量,能在實際決定怎么編譯項目后讀取。)屬性標記如下:


然后,創建一個目標標記。一個項目能包含多個標記,他們在nant運行時指定。如果沒有指定目標,則使用項目元素中缺省的設置值。在本例中,缺省目標是“build”。讓我們看一看目標元素,他包含大部分編譯信息:


在目標元素中,我設置了要編譯的目標名并創建一個任務描述。下面還要創建一個csc元素,他指定應當傳遞給c#編譯器csc的內容。讓我們看一看csc元素:


debug="${debug}">


首先,必須設置csc元素的目標。在本例中我將創建一個.dll文件,因此我將目標設置為“library”。接下來設置csc元素的輸出,他指定.dll文件的創建位置。最后,需要設置debug屬性,他決定項目是否在調試時被編譯。因為前面已創建了一個屬性來存儲這個值,所以能使用下列字符串來訪問該屬性的值:${debug}csc元素還包含一些子元素,這里需要創建兩個元素:引用元素告知nant需要為這個項目引用的程式集,源文件元素告訴nant編譯所包括的文件。在本例中,我引用nunit.framework.dll程式集并包括hashtabletest.cs文件。最終的編譯文件見圖8。(正常情況下你還應當創建一個用于刪除生成的文件的clean目標,但我為了文章簡短而省略了。)


8 nant編譯文件


要編譯這個文件,需要在.build文件所在的項目根目錄下執行nant.exe。如果編譯成功,應用程式的bin目錄下能找到.dll.pdb文件。盡管使用nant確實不如在visual studio中點擊“build”那么容易,但對于研發按進度自動運行的編譯過程,他是個功能非常強大的工具。nant還包括一些有用的功能,例如,運行單元測試或復制其他文件(目前的visual studio編譯過程不支持這些功能)。

轉載于:https://www.cnblogs.com/zhangzt/archive/2010/09/16/1828196.html

總結

以上是生活随笔為你收集整理的使用Nant构建入门的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。