天天看點

用批處理編譯*.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   

使用PATH、INCLUDE、LIBPATH

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

       VsJITDebugger.exe -p

用批處理編譯*.sln工程

編寫批處理

用批處理編譯*.sln工程
用批處理編譯*.sln工程

首先确定路徑和檔案名稱約定:

用批處理編譯*.sln工程
用批處理編譯*.sln工程

#工程目錄:d:\系統平台\

用批處理編譯*.sln工程

#工程SLN檔案所在目錄:d:\系統平台\infotech.activexengine\

用批處理編譯*.sln工程

#工程SLN檔案名稱:infotech.activexengine.sln

用批處理編譯*.sln工程

#編譯日志檔案名稱:output.txt

用批處理編譯*.sln工程

#總日志檔案名稱(位置):d:\系統平台\Rebuilder.log

用批處理編譯*.sln工程
用批處理編譯*.sln工程

批處理檔案内容:

用批處理編譯*.sln工程
用批處理編譯*.sln工程

@echo off

用批處理編譯*.sln工程

echo 建立日期 �te%  #輸出日期

用批處理編譯*.sln工程

d: #切換驅動器

用批處理編譯*.sln工程

cd d:\系統平台\ #進入目錄

用批處理編譯*.sln工程

echo 建立日期 �te% >> d:\系統平台\Rebuilder.log #寫入日期到總日志檔案

用批處理編譯*.sln工程

cd d:\系統平台\infotech.activexengine\ #進入工程目錄

用批處理編譯*.sln工程

"D:\Program Files\Microsoft Visual Studio 8\Common7\IDE\devenv.exe" infotech.activexengine.sln /rebuild RELEASE /out output.txt #執行指令,編譯工程,以Release模式

用批處理編譯*.sln工程

type output.txt >> d:\系統平台\Rebuilder.log #寫入日志到總日志内

用批處理編譯*.sln工程

echo 完成建構

用批處理編譯*.sln工程

echo 完成建構 >> d:\系統平台\Rebuilder.log #寫入完成資訊

用批處理編譯*.sln工程

notepad d:\系統平台\Rebuilder.log #用寫字闆顯示編譯總日志便于檢視

用批處理編譯*.sln工程

pause #暫停

用批處理編譯*.sln工程

按這樣的做法,依次将其他的工程寫入,這樣,每天下班的時候就運作一次,或者放到WINDOWS

的任務中自動運作,保證每個工程都被重建.在批處理檔案中還可以增加其他的指令,比如通過指令行備份每次的編譯結果到伺服器上等等動作.

附錄:

開源的幾個Build工具如下:

 BusyBeeBuilder provides a

powerful,easy-to-use,and extensible .NET build automation

tool.

 DevBuildRunner is being developed as OSI

Certified Open Source Software. 

 .NET

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

<a href="http://sourceforge.net/projects/buildstudio/" target="_blank"> BuildStudio</a>

 多個開發人員獨立地編寫大量的源代碼元件,這些元件最終進行編譯、打包并傳遞給測試人員或最終使用者

 CruiseControl.NET是為.NET

平台提供的一個自動連續內建伺服器。

 Draco.NET是為.NET提供的一個連續內建功能

 這是為NAnt提供的定制任務  

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