【问题标题】:Portable Class Libraries and Source Control可移植类库和源代码控制
【发布时间】:2012-11-22 03:27:24
【问题描述】:

我有 app 2 解决方案 (.NET C#),每个解决方案共享一个可移植类库(一个单独的解决方案)。应用解决方案将 PCL 作为项目引用,而不是通过 DLL。

使用源代码控制处理这种情况的最佳方法是什么?对于其中一个应用解决方案的一个版本,可移植类库可能会发生变化,但对于另一个版本不会立即发生变化。

目前我没有绑定到任何源代码控制,我试图使用 TFS 来执行此操作,但在可移植类库上存在工作区问题。我愿意接受更好的建议,例如 Mercurial 或 Git!

【问题讨论】:

    标签: c# version-control


    【解决方案1】:

    如果您的 PTL 更新应该只影响一个应用程序,您可以创建分支(适用于大多数源代码控制软件)。

    如果每个应用程序都有一个分支;更新将仅在此分支中可见。然后你可以使用合并工具来更新另一个。

    TFS 中也有分支:http://msdn.microsoft.com/en-us/library/ms181425.aspx

    策略:Branching Strategies

    【讨论】:

    • 更新会影响这两个应用程序,但我认为我难以理解的是它在发布时的工作方式。
    • 每个分支都会包含其共享 TPL 的副本,只有合并操作会同步这些副本
    【解决方案2】:

    方法是将共享库保存在源代码控制系统的单独区域中。然后,依赖于共享库的每个项目都必须创建特定于该项目的共享库的分支。

    开发在分支上是隔离的,但您可以将项目分支上的更改合并回共享库的主分支。其他已经拥有共享库分支的项目可以决定是否要将对主分支的更改合并到自己的分支中。

    更新共享库时,您必须执行一些合并,但使用此设置可以确保每个项目与其他项目中执行的更改隔离。每个项目都可以决定何时升级到更新版本的共享库。

    【讨论】:

    • 说得有道理,不知道您喜欢哪个源代码控制系统?
    • 最后决定使用 TFS,您的答案得到了更好的解释,但@AlexH 的链接很有用:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-05
    • 2010-09-08
    • 1970-01-01
    • 2013-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多