2011-12-14 37 views
1

在我的工作中,我們剛剛開始與我們的4個開發人員團隊一起使用TFS,並且同時從單個開發人員項目過渡到團隊項目。我們主要使用TFS中的默認設置如何在TFS 2010中處理第三方庫

我是第一個推出一個簡單的Silverlight MVVM項目,其中包含一個包含Silverlight和Web項目的解決方案。

當我的隊友拉下我的代碼並嘗試編譯時,他遇到了很多缺失的引用(.dlls),Expression blend SDK,Ria Services工具包,Telerik控件,簡單的mvvm工具包,silverlight工具包等。

我們需要做什麼,將項目添加到TFS中,當下一個開發人員將其拖拽到其中時,需要編譯所需的所有內容?

回答

5

沒有一個很好的方法可以自動完成。你通常會這樣做:

  • 在你的分支創建一個bin文件夾旁邊你的src文件夾。
  • 在bin文件夾中創建您依靠
  • 在每個文件夾代替設置或每個文件夾的地方設置
  • 鏈接您正在使用您的解決方案
  • 二進制文件中的每個組件文件夾
  • 在每個文件夾中放置自述文件,必須完成任何手動步驟
  • 如果需要,您可以創建一個安裝所有必需組件的PowerShell腳本或批處理文件。這是不是太難detect whether or not an application is already installed using powershell and wmi

現在,你必須解決解決方案中的幾件事情:

  • 請確保您的引用不指向GAC,但它們指向到分支機構bin文件夾內的組件
  • 確保所有路徑都與解決方案相關。任何C:...路徑將不會從一個系統繼承到另一個系統

我發現最簡單的方法是在Visual Studio中卸載該項目,然後對其進行編輯。然後,您可以快速將hintpath="..\..\..\bin\component屬性添加到每個參考。 this subjecta few blog,它們提供了不同的解決方案,它們都解決了這個問題。

此設置允許您至少獲取任何解決方案的最新版本並構建它,而無需安裝任何工具。如果你的某些組件依賴於Visual Studio插件,那麼這些工具的設計者通常不會工作,但至少你可以構建它們。

經常使用的替代方法是爲您的項目創建虛擬機基礎映像,並將所有必需的組件安裝到其上。然後將圖像複製到每個開發人員工作站並sysprep它以確保它們都具有唯一的名稱和標識符。當項目需要更新其依賴項時,讓一個開發人員創建一個新的清理機器並將其重新分發給所有團隊成員。

如果您使用Windows Server Virtualization或VMWare,創建差異磁盤並允許開發人員遠程訪問這些映像非常簡單。

另一種方法是use NuGetscript NuGet using a powershell script您的解決方案。這對大多數情況都適用,但Expression Blend等產品仍然需要單獨安裝。

+0

感謝您的迴應(我希望這是一個配置設置或維護一點點簡單)。所以,當你需要在TFS的代碼中做一個簡單的錯誤修正時,x個月(甚至幾年)會發生什麼情況,但是你的盒子上的庫是更新的,並且可能會有變化影響你如何或者如果你TFS '舊')代碼將被編譯? – MongooseNX 2011-12-14 18:11:17

相關問題