2012-12-04 77 views
3

我有應用程序2解決方案(.NET C#),每個應用程序共享一個可移植類庫(一個單獨的解決方案)。應用程序解決方案將PCL引用爲項目,而不是通過DLL。可移植類庫和源代碼控制

處理源代碼控制這種情況的最佳方法是什麼?可移植類庫可能會更改爲其中一個應用程序解決方案的一個版本,但不會立即更改爲其他版本。

我現在沒有綁定到任何源代碼控制,我試圖用TFS做這件事,但在可移植類庫上有工作區問題。我開放了一個更好的建議,如Mercurial或Git!

+0

使用版本分支。 –

回答

0

論方法是保持的共享庫中的源控制系統的一個單獨的區域。每個依賴共享庫的項目都必須創建特定於該項目的共享庫分支。

開發已在分支上分離,但可以將項目分支上的更改合併回共享庫的主分支。其他已經擁有共享庫分支的項目可以決定他們是否要將對主分支的更改合併到他們自己的分支中。

當共享庫更新時,您將不得不執行一些合併操作,但使用此設置可確保每個項目都與其他項目中執行的更改隔離。每個項目都可以決定何時升級到較新版本的共享庫。

+0

這是合理的,出於興趣,這是您的首選源控制系統? – Jamie

+0

最終決定於TFS,你的回答最好解釋,但@ AlexH的鏈接是有用的:) – Jamie

2

如果您的PTL的更新隻影響一個應用程序,您可以創建分支(大多數源代碼控制軟件都可用)。

如果您有每個應用程序的分支;更新將僅在此分支中可見。然後你可以使用合併工具來更新另一個。

分行,可以在TFS:http://msdn.microsoft.com/en-us/library/ms181425.aspx

對於策略:Branching Strategies

+0

這些更新會影響這兩個應用程序,但我認爲我無法解決問題的方式是如何在發佈時使用它。 – Jamie

+0

每個分支將包含其共享TPL的副本,只有合併操作將同步這些副本 – AlexH