我有 app 2 解决方案(.NET C#),每个都共享一个可移植类库(一个单独的解决方案)。应用解决方案将 PCL 作为项目引用,而不是通过 DLL。
使用源代码控制处理这种情况的最佳方法是什么?可移植类库可能会针对其中一个应用程序解决方案的一个版本进行更改,但不会立即针对另一个版本进行更改。
目前我没有绑定到任何源代码控制,我试图用 TFS 做到这一点,但在可移植类库上存在工作区问题。我愿意接受更好的建议,例如 Mercurial 或 Git!
我有 app 2 解决方案(.NET C#),每个都共享一个可移植类库(一个单独的解决方案)。应用解决方案将 PCL 作为项目引用,而不是通过 DLL。
使用源代码控制处理这种情况的最佳方法是什么?可移植类库可能会针对其中一个应用程序解决方案的一个版本进行更改,但不会立即针对另一个版本进行更改。
目前我没有绑定到任何源代码控制,我试图用 TFS 做到这一点,但在可移植类库上存在工作区问题。我愿意接受更好的建议,例如 Mercurial 或 Git!
如果您的 PTL 更新应该只影响一个应用程序,您可以创建分支(大多数源代码控制软件都可用)。
如果每个应用程序都有一个分支;更新将仅在此分支中可见。然后您可以使用合并工具来更新另一个。
TFS 中也提供分支:http: //msdn.microsoft.com/en-us/library/ms181425.aspx
对于策略:分支策略
方法是将共享库保存在源代码控制系统的单独区域中。然后,依赖于共享库的每个项目都必须创建特定于该项目的共享库的分支。
开发在分支上是隔离的,但您可以将项目分支上的更改合并回共享库的主分支。其他已经拥有共享库分支的项目可以决定是否要将对主分支的更改合并到自己的分支中。
当共享库更新时,您必须执行一些合并,但使用此设置可以确保每个项目与其他项目中执行的更改隔离。每个项目都可以决定何时升级到更新版本的共享库。