NuGet管理内部程序集的版本控制-DLL地狱
本文关键字:版本控制 -DLL 地狱 程序集 管理 内部 NuGet | 更新日期: 2023-09-27 18:29:17
背景信息我拥有3个网站的所有权,它们共享许多内部程序集,每个程序集都连接到IIS中托管的WCF服务,用于基本的CRUD类型操作。
几个不同的开发人员可以同时在每个网站上工作,对共享程序集中使用的代码进行更改/添加。
问题然后,每个开发人员构建他们的代码,并确保他们的网站正常工作。然而,他们没有意识到,在更改共享代码时,他们可能会影响其他网站的功能。
为了解决这个问题,我可以单独构建每个共享程序集,将dll复制到每个网站特定的目录中,并从中添加引用。
然而,这标志着几个问题:
-
这意味着不断构建共享程序集,并手动将dll复制到所需的目录中。
-
当开发人员获得共享程序集的最新源代码时,他们可以通过任何方式获得更改。
我曾考虑过使用nuget包来管理这一点,但这只是真正解决了问题#1,使管理特定版本稍微容易一些。
我希望这是有道理的。。。
其他人有什么建议吗?
这个没有真正的灵丹妙药。
要么开发人员必须承担一些责任,确保对共享程序集的更改不会影响引用这些程序集的其他代码,要么你真的不应该在项目之间共享它们。如果它们在这些共享程序集中更改的事情真的经常发生,您可能会考虑将这些部件或它们更改的方法迁移到每个单独的项目中。像这样的共享程序集实际上应该只针对应该非常非常罕见地更改的绝对核心函数。