1. 程式人生 > >使用devenv/MSBuild在命令列編譯sln或csproj

使用devenv/MSBuild在命令列編譯sln或csproj

一 使用devenv來build單個project

 
devenv是VisualStudio的可執行程式,一般安裝在“C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE”下。用來在命令列或GUI方式執行VisualStudio。其中devenv.com是命令列程式,devenv.exe是GUI的程式。預設地當你呼叫devenv的時候其實是啟動devenv.com,除非你顯示地呼叫devenv.exe才會啟動GUI的VisualStudio。
 

使用devenv來build一個.sln的例項:
devenv d:\Build\MyProject\Src\MyProject.sln /Build "Release|Win32"  


 
使用devenv來build一個.sln中的某個的例項:
devenv.exe d:\Build\MyProject\Src\NyProject.sln /build "Release|Win32" /Project MyProject1 
注意:通常地.sln中的多個Projects間有依賴關係,所以雖然你只是build一個.sln中的某個Project,但是還是需要指定Project所在.sln,然後通過/Project來指定Project的名字。
 
 
如果只是單個的Project,沒有引用其他的projects,這個時候可以不指定.sln,直接build Project,如下例項:


devenv d:\Build\MyProject\Src\MyProject.vcxproj /Build "Release|Win32"
注意此時實際上devenv做如下事:


此時devenv將在此project檔案的父目錄中查詢與Project相同名字的.sln;
如果沒有找到的話,然後查詢其他的引用了此Project的.sln;
如果還是沒有找到的話會建立臨時的不儲存的與Project同名的.sln。

 
二 devenv的更多幫助 


可以使用devenv /?來檢視詳細的幫助。
.sln或project的路徑有空格時,需要對路徑加"";
多個/開關間使用空格隔開;
devenv不支援萬用字元或正則表示式語法;
 


三 MSBuild


如果你的機器上沒有裝有VisualStudio,那麼可以使用MSBuild來build .sln或project。MSBuild可以通過安裝.NETFramework來安裝,一般的安裝路徑為C:\Windows\Microsoft.NET\Framework。其實devenv執行build時候,後臺也是呼叫MSBuild來build的。


可以使用msbuild /?來檢視詳細的幫助;



簡單例項如下: 


MSBuild MyApp.sln /t:Rebuild /p:Configuration=Release
MSBuild MyApp.csproj /t:Clean
                     /p:Configuration=Debug;/p:Platform=x86;TargetFrameworkVersion=v3.5
 

同樣注意,如果project引用了其他的projects的時候,最好build整個.sln。 
 
 
本文參考:http://www.cnblogs.com/itech/archive/2011/12/22/2297587.html