2013-03-07 177 views
2

在使用TFS之前,我們使用visual studio在本地構建了我們的軟件包。有很多項目組織成解決方案。當我們想要構建包時,我們只需找到ccproj項目,右鍵單擊它並點擊「包」。TFS服務器版本與本地Visual Studio版本差異

有一個在我們的解決方案夫婦的具體:

  • 我們使用多個網站和虛擬應用程序的Web角色,我們有他們在VS2012的解決方案項目依賴
  • 我們使用的配置轉換爲兩個網絡和工人角色。工人角色轉換是通過將變換目標手動添加到項目文件來實現的。
  • 我們有一些額外的類庫項目 - 它們的輸出需要在輔助角色的子文件夾中以及正確的配置文件中,這是一種插件體系結構。我們使用了一些xcopy命令將這些未引用的庫包含在我們的工作者角色中。

在VS 2012本地編譯時,一切都很順利。

當遷移到TFS我們很快就瞭解到,我們將不能夠複製生成服務器上相同的構建過程

  • 原來TFS不防腐溶液結構,這裏更 細節: http://social.msdn.microsoft.com/Forums/en-US/tfsbuild/thread/9ac815c8-5961-4670-a6d0-660a9b66da9c
  • 正在解決多個網站的項目依賴項和 單個角色的虛擬應用程序在構建服務器上不起作用, 可能是由於輸出目錄不同。我們必須在我們的ccproj和csproj文件中添加一些 黑客來獲得這些發佈,並且 正確地包含在生成的包中。
  • 由於 TFS構建服務器上的不同目錄結構,xcopy命令失敗。
  • 我們不得不強制在TFS構建服務器上運行cspack,方法是明確添加 /t:將參數發佈到msbuild命令行。
  • 工作角色的配置變換沒有奏效,我們不得不強制到 發生使用ccproj和csporj文件中的另一個黑客。
  • 還有更多的問題,但這些都太詳細。爲了說明整個問題,我會保持在高水平 。這個版本現在可以運行,但現在我們已經有很多黑客入侵了。

我有兩個問題:

  1. 是否有可能配置TFS構建服務器具有完全相同的 行爲與地方共建的VS2012?
  2. 是否有任何官方解決方案在單個web角色中構建具有多個網站和虛擬應用程序的azure包?

回答