用批處理編譯*.sln工程

https://www.cnblogs.com/dcrenl/p/4041132.html

批處理是直接調用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   

使用PATH、INCLUDE、LIBPATH

 

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

       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

.cnblogs.com/dcrenl/p/4041132.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章