便携式类库和源代码控制

3

我有两个应用程序解决方案(.NET C#),它们都共享一个可移植类库(另一个解决方案)。应用程序解决方案将PCL作为项目引用,而不是作为DLL引用。

在源代码控制中处理这种情况的最佳方法是什么?可移植类库可能会针对一个应用程序解决方案的某个版本进行更改,但不会立即影响另一个应用程序解决方案。

目前我没有被任何源代码控制绑定,我曾尝试使用TFS进行操作,但在可移植类库上出现了工作区问题。我可以接受更好的建议,如Mercurial或Git!

2个回答

2
如果您的PTL更新只影响一个应用程序,您可以创建分支(大多数源代码控制软件都提供此功能)。
如果每个应用程序都有一个分支,则更新仅在该分支中可见。然后,您可以使用合并工具来更新其他分支。
分支也适用于TFS:http://msdn.microsoft.com/en-us/library/ms181425.aspx 有关策略的信息:分支策略

更新会影响两个应用程序,但我认为我难以理解的是它如何适用于发布。 - Jamie
每个分支都将包含其共享TPL的副本,只有合并操作才会同步这些副本。 - AlexH

0
一种方法是将共享库保留在源代码控制系统的单独区域中。每个依赖于共享库的项目都必须创建一个特定于该项目的共享库分支。
开发在分支上进行隔离,但您可以将项目分支上的更改合并回共享库的主分支。已经有共享库分支的其他项目可以决定是否要将更改合并到自己的分支中。
当更新共享库时,您将需要执行一些合并操作,但使用此设置可以确保每个项目与其他项目中执行的更改隔离。每个项目可以决定何时升级到共享库的新版本。

有道理,顺便问一下,你更喜欢哪个源代码控制系统? - Jamie
最终决定使用TFS,虽然你的回答解释得更好,但@AlexH提供的链接也非常有用 :) - Jamie

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接