9

我在Visual Studio中的解決方案時包含多個項目上:排除在解決方案項目的MSBuild CI服務器

Solution.sln:

  • - >ProjectInc1.csproj
  • - >ProjectInc2.csproj
  • - >ProjectExc1.c sproj
  • - >ProjectExc1.csproj

我對所有項目的工作,當我做一推我的VCS(Github上在我的情況),它會觸發一個CI服務器上構建配置(TeamCity的中我的情況)。 TeamCity服務器使用MSBuild,它將Solution.sln作爲參數並構建它。不過,我想要從構建中忽略某些項目(例如ProjectExc1.csproj,ProjectExc2.csproj)。如果我從Solution.sln文件中刪除項目引用,則可以執行此步驟,但我認爲必須有更好的方法來排除構建某個項目。

有誰知道如何配置MSBuild或解決方案本身以在CI服務器上構建解決方案時忽略這些項目?

+1

可能的重複[如何排除在MSBUILD內建項目?](http://stackoverflow.com/questions/9778916/how-to-exclude-project-from-build-in-msbuild) - 所以無論你創建一個只包含您需要的項目的新解決方案,或者編寫一個只構建您需要的項目的msbuild腳本 – stijn

+0

是的,在第一次運行時,解決方案沒有運行,但在仔細檢查依賴關係後運行。 –

回答

13

在Visual Studio中創建一個新的構建配置(從http://msdn.microsoft.com/en-us/library/jj676765.aspx):

要創建一個解決方案配置排除項目 在菜單欄中,選擇生成,配置管理器。 在活動解決方案配置列表中,選擇。 在名稱框中,輸入解決方案配置的名稱。 在「從設置複製」列表中,選擇要在其上新建配置的解決方案配置(例如,調試), ,然後選擇確定按鈕。 在配置管理器對話框中,清除要排除的項目的「生成」列中的複選框,然後選擇關閉按鈕 。 在「標準」工具欄上,驗證解決方案 「配置」框中新解決方案配置是否爲活動配置。 在菜單欄上,選擇「生成」,「重建解決方案」。

然後在TeamCity中,而不是在Debug/Release中構建,使用新的構建配置名稱來構建配置。

如果您從MsBuild腳本調用,則同樣適用。只需更改您正在呼叫的配置。

相關問題