青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

牽著老婆滿街逛

嚴以律己,寬以待人. 三思而后行.
GMail/GTalk: yanglinbo#google.com;
MSN/Email: tx7do#yahoo.com.cn;
QQ: 3 0 3 3 9 6 9 2 0 .

NAnt 簡介

NAnt 是一個 Visual Studio .Net 應用程序的連編工具,對大而負責的工程而言,使用 NAnt 很方便。

1.????? 安裝

http://nant.sourceforge.net 上可以下載源代碼或者編譯好的二進制文件,一般下載 nant-bin.zip ,解壓,注冊系統環境變量后,就可以使用 nant 命令了。

2.????? Build 文件

XML 格式,每個 build 文件包含一個 project project 有若干 target ,每個 target 包含若干 task Task 不被包含在 target 中,即直接包含在 project 中。

??????? Projects (工程)

三個特性, name 、設置工程名稱, default 、設置默認 target ,和 basedir 、如果不設置,默認為 build 文件的父目錄。

執行 nant 時,可以知道 targets ,如果未指定,執行默認得 target ,如果 build 文件中未指定默認得 target ,僅僅執行全局的 task (全局的 task 總是執行),如果沒有全局的 task ,那就什么都不執行了。

??????? Targets (目標、對象)

有五個特性, name 、指定名稱, depends 、此 target 所依賴的 targets (多個用“,”隔開), if 、如果條件為 true 執行此 target unless 、如果條件為 true 跳過此 target description 、功能的簡短描述。其中 name 必須指定。

執行某個 target 時,首先執行此 target 所依賴的 targets 。一個 target 可能被 depends 多次,僅執行一次,但是通過 <call> 任務( task )執行一個 target 時,此 target 及其所依賴的 targets 要重新執行一次。另外,當 target 的名稱被設置為“ * ”時,稱為 wild target ,一個 build 文件僅僅有一個 wild target ,在目前的 build 文件中,當且僅當被調用的 target 不存在時,才執行 wild target ,主要用來處理無效的請求。

??????? Task (任務)

一塊可執行的代碼,一個 task 可有多個特性和參數。特性的值可包含對屬性的引用,在 task 執行前,這些引用會被解釋出來。

??????? Properties (屬性)

一個 project 可有很多屬性,這些屬性可以通過 <property 任務設置在 build 文件中,也可以設置在 Nant 外。一個屬性有一個 name 和一個 value ,可用于 task 的特性中,也可用于表達式,用在 task 的特性中時,使用 ${property name} 格式。 Nant 有很多內建屬性(與 nant 有關的,與框架有關的,與平臺有關的等)。

<property> 任務有 readonly overwrite 等特性, readonly 指定屬性是否是只讀到,默認 false overwirte 指定如果屬性已經存在,屬性值是否可以重寫,默認 true ,對于只讀屬性,是不能被重寫的。注意:在 Nant 命令行指定的屬性,先于在 build 文件中指定的屬性,并且這些屬性往往是只讀的。

另外可以在 NAnt.exe.config 文件中定義全局屬性。

??????? Loggers & Listeners

Nant 通過 Loggers Listeners 來監控連編過程。 Listeners 記錄了 build started build finished target started target finished task started task finished message logged 事件, Loggers 擴展了 Listeners ,可以按 -quiet (靜態的,平穩的) , -verbose (詳細的) , -debug 三個層次記錄連編信息,可輸出到控制臺或者文件中。 Nant 內建了三個類: NAnt.Core.DefaultLogger NAnt.Core.MailLogger NAnt.Core.XmlLogger 。使用時: -logger :類 -logfile :文件名。可以是普通道文本文件或者 XML 文件。

??????? Expressions (表達式)

表達式是一種簡單而強大的機制,允許寫高級的公式,用于 task 的參數和條件式中,這樣就可以控制連編過程了。表達式能夠訪問 project 的屬性、調用內建的或者用戶定義的 functions

表達式通過 ${…} 符號,可用于 task 的參數中。也可以使用標準的算術、邏輯和關系運算符。通過 prefix::function-name(argument1, ..., argumentN) 語法調用函數。訪問屬性,僅需指定其 name ${…}

例子:

訪問屬性

<property name="build.version" value="3" />

<echo message="The current date is: ${build.version}" />

調用函數

<echo message="The current date is: ${datetime::now()}" />

表達式結果存儲

<property name="autoexec-present" value="${file::exists('c:\autoexec.bat')}" />

Real-life expression use

<property name="myprj.basedir" value="c:\" />

<property name="filename" value="${path::combine(myprj.basedir,'version.txt')}" />

?

<if test="${not file::exists(filename) or file::get-length(filename) = 0}">

??? <echo message="The version file ${filename} doesn't exist or is empty!" />

</if>

有條件執行 task

<property name="myprj.basedir" value="c:\" unless="property::exists('myprj.basedir')" />

<csc target="library" output="out.dll" ...

???? if="${datetime::now() - file::get-last-write-time('out.dll')) > timespan::from-hours(1)}">

...

</csc>

Functions

Nant 提供了操作字符串、日期時間和路徑名字的函數,還提供讀取文件或者目錄屬性,訪問目前的連編信息等函數。

調用函數語法 prefix::function-name(argument1, ..., argumentN) ,需要的情況下會進行參數類型轉換,如果轉換有誤,會報告錯誤。

自定義函數可以使用任何 .Net 語言實現,此外還可以通過 <script> 任務實現。

3.????? 運行 Nant

命令 Nant ,此外還可以指定 build 文件名、 targets properties 等。

Nant

NAnt -buildfile:..\fileName.build

NAnt clean

NAnt -D:debug=false clean dist

posted on 2006-07-11 11:45 楊粼波 閱讀(585) 評論(0)  編輯 收藏 引用 所屬分類: 文章收藏

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲综合成人婷婷小说| 欧美激情一区三区| 亚洲一区二区欧美日韩| 国产精品99免视看9| 亚洲中字在线| 性欧美xxxx视频在线观看| 国产一区二区三区久久久| 女女同性精品视频| 欧美激情免费在线| 亚洲免费一在线| 午夜精品久久久久久久久久久| 国产一区二区日韩精品欧美精品| 久久影院亚洲| 欧美绝品在线观看成人午夜影视| 亚洲一区二区三区精品在线观看| 亚洲一区二区3| 一区精品在线| 一区二区三区精密机械公司| 国产美女在线精品免费观看| 免费成人av在线看| 欧美日韩国产在线| 欧美伊人精品成人久久综合97| 久久久国产精品一区| 99热免费精品在线观看| 亚洲一区二区精品视频| 亚洲国产欧美一区| 亚洲视频第一页| 亚洲国产成人精品久久| 亚洲视频一区在线| 亚洲黄网站黄| 香蕉久久夜色精品国产使用方法| 91久久久久久久久久久久久| 欧美激情综合五月色丁香小说| 亚洲一区高清| 可以免费看不卡的av网站| 亚洲一区日韩在线| 久久天天躁狠狠躁夜夜爽蜜月| 亚洲一级免费视频| 久久综合狠狠| 久久久免费观看视频| 欧美性感一类影片在线播放| 欧美黄色aaaa| 狠狠色丁香婷婷综合| 在线一区二区三区四区| 亚洲精品男同| 另类激情亚洲| 美女久久网站| 国内精品久久久久久| 亚洲午夜久久久久久久久电影网| 亚洲欧洲精品一区二区三区| 午夜日韩视频| 香蕉尹人综合在线观看| 欧美日韩精品一区| 亚洲精品美女| 亚洲精品日韩在线| 欧美高清视频在线播放| 欧美91大片| 亚洲黄色在线看| 美女国产一区| 免费一级欧美在线大片| 一区二区三区在线免费观看| 久久黄色网页| 鲁大师成人一区二区三区| 国产亚洲一区在线播放| 午夜精品久久久久99热蜜桃导演| 亚洲一区黄色| 国产日韩欧美视频| 久久精品国产69国产精品亚洲| 久久国产精彩视频| 国产一区二区三区久久悠悠色av| 欧美与黑人午夜性猛交久久久| 久久久91精品国产一区二区三区 | 99国产精品久久久久老师| 亚洲欧洲一区二区三区久久| 欧美岛国激情| 9l国产精品久久久久麻豆| 中文久久精品| 国产伦一区二区三区色一情| 亚洲欧美日韩成人| 久久久91精品国产| 亚洲激情欧美| 欧美日韩在线一区| 亚洲天堂男人| 欧美午夜宅男影院在线观看| 亚洲国产高清一区二区三区| 国产一区二区中文字幕免费看| 欧美一区二区免费观在线| 鲁大师成人一区二区三区 | 亚洲伦理在线免费看| 亚洲综合视频一区| 国产主播一区| 欧美精品xxxxbbbb| 亚洲午夜国产一区99re久久| 美女精品自拍一二三四| 99国产麻豆精品| 国产精品资源在线观看| 久久综合色婷婷| 中文欧美日韩| 女人色偷偷aa久久天堂| 亚洲天堂av综合网| 影音先锋成人资源站| 欧美日本中文| 久久婷婷综合激情| 一区二区国产精品| 免费亚洲网站| 欧美一级成年大片在线观看| 亚洲二区视频| 国产精品亚洲网站| 欧美日韩国产精品一区二区亚洲| 午夜精品免费在线| 亚洲乱码国产乱码精品精可以看| 久久精品人人爽| 亚洲小说欧美另类婷婷| 亚洲国产另类久久精品| 国产美女一区二区| 欧美激情精品久久久久久黑人 | 麻豆精品视频在线观看视频| 亚洲午夜国产一区99re久久| 亚洲国产欧美在线| 久久久久www| 欧美一区二区三区免费在线看| 亚洲人成在线播放网站岛国| 国产亚洲一区二区三区| 国产精品家教| 欧美视频在线观看| 欧美日韩国产成人高清视频| 猫咪成人在线观看| 久久精品视频一| 久久高清福利视频| 亚洲欧美日韩人成在线播放| 一本色道久久综合亚洲精品按摩| 欧美激情第4页| 欧美成人69av| 欧美**人妖| 欧美激情在线狂野欧美精品| 欧美chengren| 你懂的视频一区二区| 久久久久亚洲综合| 巨乳诱惑日韩免费av| 久久久久9999亚洲精品| 久久免费高清| 久久综合电影一区| 你懂的视频欧美| 亚洲国产精品va在线看黑人动漫| 欧美国产日韩精品免费观看| 男女av一区三区二区色多| 欧美成人亚洲| 亚洲电影免费观看高清完整版| 亚洲高清不卡在线| 亚洲第一在线视频| 日韩午夜在线观看视频| 久久精品在线视频| 欧美成黄导航| 亚洲第一精品在线| 亚洲欧洲日韩综合二区| 欧美国产第一页| 亚洲激情女人| 一区二区三区日韩欧美精品| 亚洲一区二区三区乱码aⅴ蜜桃女| 宅男噜噜噜66一区二区| 亚洲一区二区三区四区在线观看 | 欧美片在线观看| 欧美特黄a级高清免费大片a级| 国产精品hd| 黄色成人在线免费| 亚洲欧洲日韩在线| 一本久道久久综合中文字幕| 亚洲欧美国产精品专区久久| 久久久久**毛片大全| 欧美激情一区| 中文在线资源观看网站视频免费不卡 | 久久激情视频| 欧美精品免费在线观看| 国产精品婷婷| 亚洲欧洲久久| 欧美一区二区三区在| 欧美电影在线观看完整版| 一本大道久久a久久综合婷婷| 午夜亚洲福利| 欧美精品麻豆| 国产一区二区三区精品久久久| 亚洲精品久久视频| 欧美一区二区高清在线观看| 亚洲第一视频网站| 亚洲欧美激情一区二区| 免费在线国产精品| 国产精品护士白丝一区av| 在线日韩日本国产亚洲| 午夜在线一区| 亚洲欧洲综合另类| 欧美在线欧美在线| 欧美日韩中国免费专区在线看| 精品成人国产在线观看男人呻吟| 一本色道综合亚洲| 欧美xx视频| 香蕉乱码成人久久天堂爱免费 | 亚洲一区在线视频| 免费黄网站欧美| 国产一区二区激情| 亚洲校园激情|