管理内部第三方依赖关系

Vad*_*bak 6 version-control projects-and-solutions dependency-management visual-studio

我们有很多不同的解决方案/项目,由不同的团队管理.我们的解决方案需要参考另一个团队拥有的几个项目.我们不希望将这些依赖项添加为项目引用,因为我们不打算修改该代码,我们只想使用它.此外,我们的解决方案中已经有相当多的项目,并且不想添加更多项目,因为它会降低Visual Studio的速度.因此,我们在单独的解决方案中构建这些项目,并将它们作为文件引用添加到我们的解决方

我的问题是,人们如何管理这些类型的依赖关系?我是否应该只有一些自动化流程来查找这些项目的更改,构建它们并将dll检查到我们的源代码控制中,之后我们将它们视为其他第三方依赖项?有推荐的方法吗?

Mik*_*sen 1

一种解决方案(尽管不一定是您正在寻找的解决方案)是让每个依赖子系统执行发布。此版本可以采用 MSI 安装的形式,或者只是程序集的网络共享。当进行重大更改时,该团队可能会通知您,并且您可以运行安装或脚本来复制文件。

获得版本后,您可以将它们放入 GAC 中,这样您就不必担心将它们复制到项目 bin 文件夹中。

假设您使用构建服务器或某种持续集成,另一个解决方案是进行构建后步骤或处理文件。在任何特定时刻,其他团队的开发人员都可以获取新文件,或者使用脚本或bat文件将它们拉到本地。

编辑 - 另一个解决方案最好问一下为什么有这些依赖项?在构建您的应用程序部分时,您真的需要在本地使用它们吗?您能否模拟解决方案中的依赖关系,从而允许您编码、构建和运行单元测试?实际应用程序会将这些连接到您的开发/测试/生产环境中。对于单个团队来说,保持解决方案解耦且无依赖性可能是更好的解决方案。当应用程序在实际环境中运行时,保留集成和耦合。