加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 如何处理.NET中发布的常见库?

发布时间:2020-12-15 21:31:16 所属栏目:百科 来源:网络整理
导读:这是SVN结构: /trunk + ProjectA + ProjectB + Common + ProjectCore + References ProjectA和ProjectB将提供最终产品,每个产品都有自己的发布生命周期.两个项目都使用ProjectCore中的相同公共库. ProjectCore也有自己的发布生命周期. 在ProjectA和ProjectB
这是SVN结构:

/trunk
    + ProjectA
    + ProjectB
    + Common
        + ProjectCore
        + References

ProjectA和ProjectB将提供最终产品,每个产品都有自己的发布生命周期.两个项目都使用ProjectCore中的相同公共库.
ProjectCore也有自己的发布生命周期.
在ProjectA和ProjectB中,我们想要引用ProjectCore的库.在ProjectCore成功发布生命周期后,ProjectCore-libs被添加到SVN. 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可以引用它们.
这样做的最佳方法是什么?

方法1

将ProjectCore-libs添加到名为RLS_Core_X_XX的References下的新文件夹中的SVN.

在ProjectA和ProjectB的解决方案中,我们添加对此唯一文件夹的引用:./ turunk / Common / References / RLS_Core_X_XX.

方法2

将ProjectCore-libs添加到一个相同的文件夹References / Core下的SVN.如果其中有一个“旧”版本,它将是一个提交.

在ProjectA和ProjectB的解决方案中,我们添加了一个对./trunk/Common/References/Core的引用.我们使用SVN外部属性来定义必须为ProjectA和ProjectB使用Core-lib的哪个版本.

在这两种方法中,开发人员明确地需要决定他想要在他的项目中使用哪些Core-libs.除非由于缺少功能而必须升级,否则该规则将保留相同的Core-libs.
方法1:在项目解决方案中编辑.方法2:在外部属性中编辑.

什么方法是首选的?

解决方法

看起来很自然的第一件事是分别为每个项目使用推荐的文件夹结构(分支,标签,主干)文件夹.这也适用于通用项目,特别是如果您要使用这两个最终产品引用的版本.由于这些项目将分开开发,您应该能够创建单独的标签和分支.

完成此操作后,(并且由于您需要将所有引用包含在构建的程序集中),最好将已发布的程序集分别复制到每个项目的Reference子文件夹中.

这样,无论何时创建分支,您都拥有所需版本的确切快照,并且它独立于常见的开发.

换一种说法:

/RepoRoot
    + ProjectA
        + branches
        + tags
            + v1.0
            + v1.1
        + trunk
            + references (includes 3rd-party and ProjectCore)
    + ProjectB
        + branches
        + tags
            + v0.8
            + v1.2
        + trunk
            + references
    + ProjectCore
        + branches
        + tags
            + v2.0
            + v2.1
        + trunk
            + references

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读