2010-10-08 147 views
62

我想自動化C#解決方案的構建過程。我如何從命令行構建C#解決方案,以便我不必手動處理依賴關係?使用Visual Studio 2010從命令行構建C#解決方案

+0

是什麼讓你認爲依賴,當你建立在CMD線並不重要?這是一個更加手工的helluvalot,你必須輸入完整的路徑名稱到依賴程序集。 – 2010-10-08 15:37:04

+0

我不確定你是否正確理解我。我所需要的僅僅是從命令行構建一個C#解決方案,這樣(幾乎)只需要解決方案文件的路徑,而MSBuild似乎就是要走的路。 – alexfr 2010-10-08 16:03:10

回答

38

如果您從開始菜單中打開Visual Studio命令提示符 - 那麼你可以調用的MSBuild,給,要麼.sln文件或特定的.csproj文件,以建立你所需要的東西

或者你可以創建一個自定義的MSBuild文件來完成任務。

一個提示:如果你試圖建立一個在VS2010用的MSBuild 3.5然後創建一個解決方案確保您使用的是適用於該項目

即的目標框架或工具版本的MSBuild的版本,它將無法識別項目的4.0工具集

+0

我必須先執行'vcvarsall.bat',然後才能從任何舊cli實例運行'msbuild',一旦我確實運行像一個魅力! – 2012-11-29 15:13:01

+2

您可以改爲打開「開發人員命令提示符」:所有程序 - > Microsoft Visual Studio - > Visual Studio工具。 – kroiz 2013-09-03 08:00:29

17

的MSBuild YourSolution.sln

+3

它如何知道是否執行調試或發佈版本? – Qwertie 2014-11-27 23:38:58

+0

「msbuild /?」用於命令行參數,包括調試/版本 – 2015-08-26 15:36:16

67

對於解決方案,您可以使用:

devenv /build Release Solution.sln

devenv /build Debug Solution.sln

+9

這需要在執行構建的機器上安裝Visual Studio。 msbuild可用於.net框架。 – 2012-11-29 15:10:45

+1

+1。由於一個未知的原因,msbuild不適用於使用'qmake -recursive -tp vc my.sln'生成的全新.sln文件。我必須用VS打開解決方案才能使msbuild工作。隨着devenv,我可以自動化qmake和構建過程。謝謝 – 2013-04-15 07:01:26

22

Visual Studio項目和解決方案文件也是MSBuild構建文件。

您可以簡單地運行的MSBuild對解決方案/項目文件,它會建立:

<path to>msbuild.exe <path to>solution/project file 
相關問題