.NET 開發人員必備工具:NAnt

iDotNetSpace發表於2008-06-25
             NAnt 是一個基於 .NET 的生成工具,與當前版本的 Visual Studio .NET 不同,它使得為你的專案建立生成過程變得非常容易。當你擁有大量從事單個專案的開發人員時,你不能依賴於從單個使用者的座位進行生成。你也不希望必須定期手動生成該專案。你更願意建立每天晚上執行的自動生成過程。NAnt 使你可以生成解決方案、複製檔案、執行 NUnit 測試、傳送電子郵件,等等。遺憾的是,NAnt 缺少漂亮的圖形介面,但它的確具有可以指定應該在生成過程中完成哪些任務的控制檯應用程式和 XML 檔案。注意,MSBuild(屬於 Visual Studio 2005 的新的生成平臺)為每種健壯的生成方案進行了準備,並且由基於 XML 的專案檔案以類似的方式驅動。

實際執行的 NAnt
  在該示例中,我將為前面建立的 NUnitExample 解決方案建立一個 NAnt 版本檔案。首先,我需要建立一個具有 .build 副檔名的 XML 檔案,將其放在我的專案的根目錄中,然後向該檔案的頂部新增一個 XML 宣告。我需要新增到該檔案的第一個標記是 project 標記:

The NUnit Example Project

  專案標記還用於設定專案名稱、預設目標以及基目錄。Description 標記用於設定該專案的簡短說明。
  接著,我將新增 property 標記,該標記可用於將設定儲存到單個位置(隨後可以從檔案中的任意位置訪問該位置)。在該例中,我將建立一個名為 debug 的屬性,我可以隨後將其設定為 true 或 false,以反映我是否要在除錯配置下編譯該專案。(最後,這一特定屬性並未真正影響如何生成該專案;它只是你設定的一個變數,當你真正確定了如何生成該專案時將讀取該變數。)
  接下來,我需要建立一個 target 標記。一個專案可以包含多個可在 NAnt 執行時指定的 target。如果未指定 target,則使用預設 target(我在 project 元素中設定的 target)。在該示例中,預設 target 是 build。讓我們觀察一下 target 元素,它將包含大多數生成資訊:


  在 target 元素內,我將把 target 的名稱設定為 build,並且建立有關該 target 將做哪些工作的說明。我還將建立一個 csc 元素,該元素用於指定應該傳遞給 csc C# 編譯器的資料。讓我們看一下該 csc 元素:








  首先,我必須設定該 csc 元素的 target。在該例中,我將建立一個 .dll 檔案,因此我將 target 設定為 library。接下來,我必須設定 csc 元素的 output,它是將要建立 .dll 檔案的位置。最後,我需要設定 debug 屬性,它確定了是否在除錯中編譯該專案。因為我在前面建立了一個用於儲存該值的屬性,所以我可以使用下面的字串來訪問該屬性的值:${debug}。Csc 元素還包含一些子元素。我需要建立兩個元素:references 元素將告訴 NAnt 需要為該專案引用哪些程式集,sources 元素告訴 NAnt 要在生成過程中包含哪些檔案。在該示例中,我引用了 NUnit.Framework.dll 程式集幷包含了 HashtableTest.cs 檔案。Figure 8 中顯示了完整的生成檔案。(你通常還要建立一個乾淨的 target,用於刪除生成的檔案,但為了簡潔起見,我已經將其省略。)
  要生成該檔案,我需要轉到我的專案的根目錄(生成檔案位於此處),然後從該位置執行 nant.exe。如果生成成功,你可以在該應用程式的 bin 目錄中找到 .dll 和 .pdb 檔案。儘管使用 NAnt 肯定不像在 Visual Studio 中單擊 Build 那樣簡單,但它仍然是一種非常強大的工具,可用於開發按自動計劃執行的生成過程。NAnt 還包括一些有用的功能,例如能夠執行單元測試或者複製附加檔案(這些功能沒有受到當前 Visual Studio 生成過程的支援)。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/12639172/viewspace-364782/,如需轉載,請註明出處,否則將追究法律責任。

相關文章