NAnt(3) – 各個擊破

一個 solution (方案)裡面可能不只一個 project,可能會有許多個。
以前,我會寫在同一個 build 檔案裡面,可是這樣會讓 build 變得很大而且難以維護。
NAnt可以讓你在 build 檔案裡面再去呼叫另外一個 build 檔案,如此一來,我們就可以讓各 build 檔案負責自己的事情,避免都放到同一個 build 檔案裡面了。
語法很簡單,利用 nant 這個 task 就可以達成:

<nant>
  <buildfiles>
    <include name="subdir/default.build" />
  </buildfiles>
</nant>

或者是偷懶一點,讓NAnt找到目前所在目錄下所有子目錄下的 build 檔案,然後進行 build

<nant>
  <buildfiles>
    <include name="**/default.build" />
  </buildfiles>
</nant>

如果,要執行的並不是 build 這個預設 target 的話,該怎麼辦呢?
你可以為 nant task 加上 target 這個 attribute,就行了。

<nant target=”clean”>….</nant>

最後,我們達到各個擊破的目的。

IronPython(1) – 安裝與執行 script

IronPython 是一個移植到 .Net framework 之上的 Python 分支,與其他 Python 最大的不同點就是他可以直接調用 .Net framework 內的所有類別庫。
安裝前的必要條件:

官方既下載網址:

目前最新的版本是 Beta 8,下載以後的安裝非常簡單,解開以後就可以了。
點選 IronPythonConsole.exe 就可以執行。
還記得以前的 BASIC 嗎?(我想大概很少人知道這種古早又親切的語言了)
你可以試著輸入

print “Hello world!”

或是

print 1+2

就可以快速看到你指令的輸出結果。
接著我們試試看執行官方提供的範例:

execfile( “tutorial/wfdemo.py” )

畫面會帶出一個視窗,你可以試試看在上面以滑鼠隨意點選一點,視窗會出現 “Hello” 的字樣。
讓我們將視窗關閉,按下 ctrl+z 離開 PythonConsole。
學習需要目標,我想試著用 IronPython 重寫 RSSMSN
甚至以後再用 Python + PyGTK(或 wxWidget) 來重寫看看。
明天的目標,讀取 RSS。
其他可以參考的資料: