用批處理編譯*.sln工程


批處理是直接調用Microsoft Visual Studio 8\Common7\IDE\ 目錄內的 devenv.exe ,它啟動后就是IDE,提供的參數如下:

用法:

devenv [solutionfile | projectfile | anyfile.ext] [switches]

devenv 的第一個參數通常是一個解決方案文件或項目文件。如果您希望在編輯器中自動打開文件,也可以使用任何其他文件作為第一個參數。當您輸入項目文件時,IDE會在項目文件的父目錄中查找與該項目文件具有相同基名稱的 .sln 文件。如果不存在這樣的 .sln 文件,IDE 將查找引用該項目的單個 .sln 文件。如果不存在這樣的單個.sln 文件,則 IDE 將創建一個具有默認 .sln 文件名且未保存的解決方案,其基名稱與項目文件的基名稱相同。

命令行編譯:

devenv solutionfile.sln /build solutionconfig [ /project projectnameorfile [ /projectconfig name ] ]

 可用的命令行開關:

 

/Build

使用指定的解決方案配置生成解決方案或

項目。例如“Debug”。如果可能存在多個平台,

則配置名稱必須用引號括起來

並且包含平台名稱。例如“Debug|Win32

/Clean

刪除生成結果。

/Command

啟動 IDE 並執行該命令。

/Deploy

生成並部署指定的生成配置。

/Edit

在此應用程序的運行實例中打開

指定文件。如果沒有正在運行的實例,

則啟動一個具有簡化窗口布局的新實例。

/LCID

設置 IDE 中用於用戶界面的默認語言。

/Log

 IDE 活動記錄到指定的文件以用於故障排除。

/NoVSIP

禁用用於 VSIP 測試的 VSIP 開發人員許可證密鑰。

/Out

將生成日志追加到指定的文件中。

/Project

指定生成、清理或部署的項目。

必須和 /Build/Rebuild/Clean  /Deploy 一起使用。

/ProjectConfig

重寫解決方案

配置中指定的項目配置。例如“Debug”。如果可能存在

多個平台,則配置名稱必須用引號括起來

並包含平台名稱。例如“Debug|Win32

必須和 /Project 一起使用。

/Rebuild

先清理,然后使用指定配置生成

解決方案或項目。

/ResetAddin

移除與特定外接程序關聯的命令和命令用戶界面。

/ResetSettings

恢復 IDE 的默認設置,還可以重置為

指定的 VSSettings 文件。

/ResetSkipPkgs

清除所有添加到 VSPackages  SkipLoading 標記。

/Run

編譯並運行指定的解決方案。

/RunExit

編譯並運行指定的解決方案然后關閉 IDE

/SafeMode

以安全模式啟動 IDE,加載最少數量的窗口。

/Upgrade

升級項目或解決方案以及其中的所有項目。

並相應地創建這些文件的備份。有關備份

過程的更多信息,請參見

Visual Studio 轉換向導”上的幫助。

 

 產品特定的開關:

 

/debugexe

打開要調試的指定可執行文件。命令行的其余部分作為它的參數傳遞到此執行文件。

/useenv   

使用PATHINCLUDELIBPATH

 

 要從命令行附加調試器,請使用:

       VsJITDebugger.exe -p

 

編寫批處理

首先確定路徑和文件名稱約定
:

# 程目錄:d:\系統平台\
#工程SLN文件所在目錄:d:\系統平台\infotech.activexengine\
#工程SLN文件名稱:infotech.activexengine.sln
#編譯日志文件名稱:output.txt
#總日志文件名稱(位置):d:\系統平台\Rebuilder.log


批處理文件內容
:

@echo  off
echo 建立日期 
�te %    # 輸出日期
d :   # 切換驅動器
cd d :\ 系統平台 \   # 進入目錄
echo 建立日期  �te %   >>  d :\ 系統平台 \ Rebuilder . log   # 寫入日期到總日志文件
cd d :\ 系統平台 \ infotech . activexengine \   # 進入工程目錄
" D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe "  infotech . activexengine . sln  / rebuild RELEASE  / out output . txt  # 執行命令,編譯工程,以Release模式
type output . txt  >>  d :\ 系統平台 \ Rebuilder . log   # 寫入日志到總日志內
echo 完成構建
echo 完成構建 
>>  d :\ 系統平台 \ Rebuilder . log   # 寫入完成信息
notepad d :\ 系統平台 \ Rebuilder . log   # 用寫字板顯示編譯總日志便於查看
pause  # 暫停

運行該批處理文件將編譯 Infotech.ActivexEngine 工程,並且顯示出編譯的結果到Rebuilder.log 文件中.
按這樣的做法,依次將其他的工程寫入,這樣,每天下班的時候就運行一次,或者放到WINDOWS 的任務中自動運行,保證每個工程都被重建.在批處理文件中還可以增加其他的命令,比如通過命令行備份每次的編譯結果到服務器上等等動作.

另外,象FinalBuilder 這些專業的工具還支持從一些版本控制系統中檢測最新的版本,或者是生成壓縮包,備份文件,刻盤...等等善后工作,有條件的還是使用這些專業軟件.

附錄:

開源的幾個Build工具如下:
 BusyBeeBuilder   
 BusyBeeBuilder provides a powerful,easy-to-use,and extensible .NET build automation tool.

 DevBuildRunner   
 DevBuildRunner is being developed as OSI Certified Open Source Software. 

 .NET Pre-Build   
 .NET Pre-Build是一個XML驅動的預建造工具 

 BuildStudio
 多個開發人員獨立地編寫大量的源代碼組件,這些組件最終進行編譯、打包並交付給測試人員或最終用戶

 CruiseControl.NET   
 CruiseControl.NET是為.NET 平台提供的一個自動連續集成服務器。

 Draco.NET   
 Draco.NET是為.NET提供的一個連續集成功能

 NAntContrib   
 這是為NAnt提供的定制任務  

 NAnt   
 它是一個基於.NET的編譯(Build)工具,能夠使項目的編譯過程非常容易。

摘自:http://www.cnblogs.com/Chinasf/archive/2006/08/10/473814.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM