在NAnt中加入Vssget 任务
如何將Vssget task加到Nant中
????(此篇文章有些繁瑣,請大家看我Blog下一節)??????????????????
Vssget這個task在nant中默認是沒有的,為了要將VSS DataBase Server中的數據調動了本地來編譯,得要在nant中加入 vssget 這個task.方法如下:
1 下載NAnt的最新版本
http://nant.sourceforge.net/builds/? 目前最新版本是0.85版本. 目前最新版本是0.85版本.
將NAnt加入到系統的環境變量中去
2 將NAnt加到環境變量中
在系統變量中找到 “path” 然后將值改為 nant.exe的目錄地址 如:d:nant\bin .
3 檢查 .Net FrameWork的版本
如果你的.net framework 是1.0的不用修改.則跳到 步驟4.
如果你的.net framework是1.1或者以上的版本則要配置一下. 配置文件在NAnt安裝目錄\Bin目錄下,名稱為Nant.exe.config,使用的.Net Framework版本信息存儲在frameworkinfo->nantsettings->frameworks>tag下面。如果安裝的是1.1版本,那么改為1.1.4322就可以了,看看Windows安裝目錄下的Microsoft.NET\Framework目錄下列出了所有安裝的Framework版本.
4 安裝并且編譯NAntContrib
下載 http://nantcontrib.sourceforge.net/nightly/builds/
進入NAnt的 根目錄 運行以下命令
bin\NAnt.exe package
進入NAntContrib 的根目錄 運行以下命令
Nant –D:nant.dir=c:\nant-debug-f:NAntContrib.build
其中 c:\nant為nant的根目錄(BIN的上一級目錄)
將 生成的build\bin? 目錄下的所有文件都拷貝到 nant\bin?
這樣在 NAnt中就可以使用VSSGET這個task了.
附1:
用 NAnt CSC ?一個.CS文件,源碼如下:
<?xml version="1.0"?>
??<project name="Test" default=”t1" basedir="."> <!-- name是工程名字 default 里的是即將運行的 target 的名字. Basedir 是根目錄的地址-->
??? <target name="t1">
????? <csc target="exe" output="Test.exe"><!--target指的輸入目標文件的類型,如果是要輸出.DLL文件,則把EXE寫成library.output是輸出文件的名字-->
??????? <sources>
????????? <includes name="Test.cs"/> <!—源文件地址及名字-->
??????? </sources>
????? </csc>
??? </target>
? </project>
1.1最新的 NAnt 的task及其對應屬性列表.
http://nant.sourceforge.net/help/tasks/index.html
附2:
用 NAnt 編譯一個 解決方案,源碼如下,注釋用”//”寫,如果要編譯時注釋用”<!-- -->”寫.
<?xml version="1.0"?>
<project name="test2" default="build" basedir=".">? //build的時候將運行名為 build這個target
<property name="Solution.Filename" value="D:\ClientVSS\test\test.sln"/>
?//name是解決方案的名字? value是解決方案的地址. 可以寫成服務器的地址,如: \\dsi_coolbug\共享目錄
<property name="Solution.Configuration" value="DEBUG"/>
<property name="Build.OutputFolder" value="d:\result\"/>
// name輸出文件名 value :輸出文件地址
//上邊是第一個解決方案
?
<property name="Solution2.Filename" value="D:\ClientVSS\test2\test2.sln"/>
<property name="Solution2.Configuration" value="DEBUG"/>
<property name="Build2.OutputFolder" value="d:\result\"/>
//上邊是第二個解決方案
<target name="t1">
<solution solutionfile="${Solution.Filename}" outputdir="${Build.OutputFolder}test\" configuration="${Solution.Configuration}" />
</target>
//上邊是運行第一個解決方案的target? 帶”$”號的是引用上邊project里的名字.
<target name="t2">
<solution solutionfile="${Solution2.Filename}" outputdir="${Build2.OutputFolder}test2\" configuration="${Solution2.Configuration}" />
</target>
<target name="delete">
<delete dir="c:\b\" failοnerrοr="false" />
</target>//此target是刪除 c:\b 這個目錄
<target name="build">
<call target="t1" />? //調用 名為 t1 的target
<call target="t2" />? //調用名為? t2 的target
</target>
</project>
?
附3:
用NANT 獲得VSS DataBase服務器上的文件,并輸出到本地:
<?xml version="1.0"?>
? <project name="Test1" default="t1" basedir=".">
???? <target name="t1">
??????? <vssget user="coolbug" password="******" localpath="d:\result" dbpath="\\dsi_coolbug\test\NantVSS\srcsafe.ini" path="$/" />
//user :VSS上的帳號?? password: VSS上帳號對應的密碼
//localpath: 輸出到本地的地址? dbpath: 服務器上的INI文件地址
//path:要獲得服務器上的哪個目錄下的所有文件,本例是根目錄下的所有文件.
??? </target>
</project>
關于 NAntContrib的新的task 及其所有的屬性列表,請參見:
http://nantcontrib.sourceforge.net/help/tasks/index.html
VSSGET task的屬性列表:
http://nantcontrib.sourceforge.net/help/tasks/vssget.html
?
?
???????????????
總結
以上是生活随笔為你收集整理的在NAnt中加入Vssget 任务的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: asp.net页面中hmtl注释的问题
- 下一篇: 一个乒乓球馆的梦想