2013-03-30 31 views
0

以前可能已經提出過這個問題,但我無法解決以前所有文章中的需求(我一直在搜索它幾個小時)。所有職位都非常具體,以滿足其特殊需求。 (我一直在寫幾年的項目,但TFS的新手)Team Foundation Server中的共享DLL

我的需要是: 我有一個共同的幫助項目在默認收集。 (簡單的幫助類和功能,這有助於我避免重寫所有內容)

我想在不同集合下的每個tfs項目中使用這個幫助程序項目。

什麼是最好的使用場景?

  • 默認集合 - HelperProj

  • 類別1 - 項目1 - 項目2

  • 類別2 - 項目3 - 項目4

在此先感謝 Onur

回答

0

我的建議是使用一個單一的項目在一個單一的集合,除非你有一個令人信服的理由不這樣做。

原因是,儘管TFS在很多方面看起來像一個大型文件系統,但有些東西在項目和集合邊界上效果不佳。根據我的經驗,將代碼放入不同的項目/集合中時,只有在代碼塊之間沒有(並且永遠不會存在)依賴關係時才能正常工作,因此您可以單獨處理單個項目/集合。

我們公司最初爲每個「真實」項目啓動了一個TFS項目,但我們經常遇到這樣的問題,直到我們將整個代碼庫重新組織爲包含3個項目的集合,包括文檔,資產和代碼三個不同的領域,沒有相互依賴關係)

在一個項目中,您仍然可以將代碼組織到文件夾中,所以IMO確實沒有太多意義使用不同的項目和集合,除非您對不同的代碼庫有不同的訪問/安全要求(如果他們沒有依賴性,這是不太可能的)。

另一種方法是使用您描述的3個集合,但通過在DefaultCollection中預先構建庫來提供共享的二進制文件存儲庫,以消除它們之間的「實時」依賴關係,您可以從該代碼鏈接到其他收藏。這也可以幫助進行版本控制,在這種情況下,庫代碼可以被更新,但是二進制文件不會立即合併到其他集合中,從而允許在其他集合上工作的團隊只有在適合庫代碼時纔會更新庫代碼。這可以幫助阻止由團隊B立即使用團隊A的變更所引起的問題。