【问题标题】:Submodule dependencies and Visual Studio Projects - Creating an architecture with nonlinear dependencies子模块依赖项和 Visual Studio 项目 - 创建具有非线性依赖项的体系结构
【发布时间】:2019-10-17 16:37:13
【问题描述】:

不确定这是否应该是堆栈溢出,但我目前在为我的 C# 项目创建架构时遇到问题。

主要结构

共有三个存储库:

  • 数据存储
  • 解析(本质上是填充数据存储)
  • 工作(使用数据存储)

working 存储库需要将数据存储为项目(包含为 git 子模块)。

parsing 存储库还需要将数据存储为一个项目(包含为 git 子模块)。

data storage 存储库独立于所有其他存储库。


目标

创建了一个第四 存储库,它使用parsing 存储库和working 存储库。请注意,两个存储库都依赖于data storagerepository

渔获

如果parsing 存储库依赖于data storage 存储库的版本working 存储库不同,该怎么办。我们不希望这种情况发生。

问题

如果子模块 data storage 版本不同,我如何防止任何用户在 Visual Studio Professional 或 Git 中包含这两个项目。您将如何构建您的存储库?您是将data storage 存储库作为子模块包含在两个存储库中还是仅包含.dll?

【问题讨论】:

    标签: c# git visual-studio architecture


    【解决方案1】:

    我们决定将它们全部合并到一个存储库中。

    可能的选择是:

    • 删除所有子模块并留下错误的引用 --> 用户必须自己设置交叉引用

      • 这意味着,克隆一个存储库可能会导致项目不可构建,因为项目引用设置为不存在的项目
    • 将所有内容合并到一个存储库中,解决版本问题和引用问题,并提供开箱即用的可构建存储库

      • 但失去了独立的 git 历史以及独立存储库和分支的优势

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-06-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      • 2010-10-14
      • 1970-01-01
      • 2021-12-27
      相关资源
      最近更新 更多