2011-04-26 48 views
1

我是新的項目解決方案Team Foundation Server的的概念。我如何處理客戶的特定代碼,在Visual Studio中的Visual Studio共享的核心和TFS

我們正在開發一個使用Web服務和XSLT的Windows應用程序。 WinApp和Web服務代碼由不同的客戶共享,但我們有客戶特定的DTD/XSD/XSLT(例如)。

目前,所有的代碼都保存在SourceSafe(我們打算用TFS代替的東西),共享核心和客戶特定的代碼在同一個地方(是的,這就是我們的做法......)。我們還爲所有代碼使用同一個解決方案,這兩個代碼都是共享的和客戶特定的。

我想要做的是爲每個客戶創建一個存儲庫(我在這裏考慮Git),其中包括所有客戶特定的代碼,並將共享代碼引用爲子模塊。但我的問題是,這是

  1. 如何做到這樣的事情與TFS?

  2. 如何在Visual Studio中管理共享和客戶特定代碼中的解決方案/項目?

也許有一個簡單的解決這個問題,我已經錯過了,如果是這樣的話,請賜教!

+2

這看起來更像是一個體繫結構問題,而不是一個工具/源代碼控制。就我個人而言,我並沒有發現任何將它們全部保存在同一個源代碼庫中的任何錯誤(除了它當然是vss ......)。我可能會爲每個客戶製作單獨的程序集以將它們分離出來,然後使用DI \ IOC在適當的位置注入它們的類型。 – Brook 2011-04-26 15:28:47

+0

@Brook:謝謝,我意識到這一點。但是,我仍然沒有掌握如何在存儲庫或Visual Studio中(以及解決方案與項目的概念)以最佳方式組織具有共享和客戶代碼的項目。也許這只是一個使用VS更多的問題,這將是有意義的...... – 2011-04-27 07:37:08

+0

這是正確的布魯克,這是一個架構問題,而不是你會用TFS解決的問題。您需要有某種插件系統,您可以爲特定的客戶開發特定的插件,然後相應地進行部署。 – 2011-04-27 16:30:03

回答

1

我們剛剛將大量Visual Source Safe Solutions合併到了Team Foundation Server 2010.對於常見的框架,我們創建了一個Team Projects的獨立集合,開發人員需要從開發人員獲取最新版本客戶解決方案。

對於客戶解決方案,我認爲這可能是一個解決方案;開始創建一個基礎(基礎結構與Team Foundation Server中的基本文件),並使用來自該基礎的分支來創建客戶特定的版本。

如果您還需要維護客戶版本,則可以考慮將Base客戶解決方案複製到新的解決方案中;將新基地分支到開發分支;在開發分支中工作,並在準備部署時將其合併(測試和其他分支我離開這部分)。

但並不是說您如何使用Team Foundation Server來實現這一點,更重要的是擁有正確的實踐和策略以確保應用程序的生命週期。

+0

感謝您的反饋。我意識到我的問題和問題可能有點模糊,但是使用分支機構來實現客戶代碼的解決方案並不吸引我。來自Git我想將代碼拆分成不同的版本(閱讀_Git repos_)並使用Gi​​t子模塊(或SVN外部代碼)來處理核心/客戶代碼集成。見[VonC在這個問題中的解釋](http://stackoverflow.com/questions/3223922/git-workflow-for-custom-css-files-and-themes),這在TFS中可能嗎? – 2011-04-28 07:33:07

相關問題