这是SVN结构:
/trunk
+ ProjectA
+ ProjectB
+ Common
+ ProjectCore
+ References
ProjectA并将ProjectB交付最终产品,每个产品都可以有自己的发布生命周期。这两个项目都使用来自ProjectCore.
ProjectCore也会有自己的发布生命周期。在中ProjectA,ProjectB我们要引用ProjectCore. ProjectCore-libs 在ProjectCore. ProjectCore-libs 被添加到References文件夹中。
通过这样做,我们发布(冻结)我们的ProjectCore构建,作为一个经过全面测试的组件。所以我们有多个 Core-lib 版本:
- RLS_Core_1.00
- RLS_Core_1.01
- RLS_Core_2.00
- RLS_Core_3.00
由于我们将发布的库(dll)添加到SVN,ProjectA并且ProjectB可以参考它们。做到这一点的最佳方法是什么?
方法一
在名为ProjectCore的新文件夹中将 -libs添加到 SVN 。ReferencesRLS_Core_X_XX
在解决方案中ProjectA,ProjectB我们添加了对这个唯一文件夹的引用:./trunk/Common/References/RLS_Core_X_XX.
方法二
ProjectCore在同一个文件夹下将 -libs 添加到 SVN References/Core。如果其中有一个“旧”版本,它将是一个提交。
在解决方案中ProjectA我们ProjectB添加了一个引用:./trunk/Common/References/Core. 我们使用 SVN 外部属性来定义 Core-libs 的哪个版本必须用于ProjectA和ProjectB。
在这两种方法中,开发人员明确需要决定他想在他的项目解决方案中使用什么 Core-libs 版本。规则是保持相同的核心库,除非您因为缺少功能而必须升级。 方法1:在项目解决方案中编辑。方法 2:编辑外部属性。
首选什么方法?