【发布时间】:2011-01-23 15:24:02
【问题描述】:
这个我知道,但我似乎找不到满意的答复。
程序集应该进入 GAC 吗?这些问题:when-and-when-not-to-install-into-the-gac 和What are the advantages and disadvantages of using the GAC,正是针对这些问题,但答案非常多是“建议……”或“你应该只……”。为什么???
许多反对 GAC 的博客似乎可以追溯到 5/6 年前,当时 .Net 的明星开始崛起。我们现在还在吗?随着 GAC 支持并排安装“相同”程序集的不同版本,DLL-Hell 肯定已成为过去?
让我充实我的担忧。我们有越来越多的网络应用程序套件(目前有 5 个)。它们的核心是通过 API 调用和数据库扩展对第三方应用程序的扩展。因此,显然,所有这些应用程序共享大量代码,我们正在开发一组新的核心共享库,以提高我们的质量、可维护性等。
当然,我希望这个共享功能安装一次并共享。所有关于开启维护噩梦的争论似乎都是基于一些缺乏纪律的世界。如果你破坏了 ABI,那么修改 AssemblyVersion 就足以让你现有的应用程序正常工作。
对于毫无戒心的人来说,GAC 真的是一个蜜饯吗?我是不是太天真了?当我驳斥将失去“XCopy”安装作为懒惰抱怨的论点时,我是否过于严厉?还是它变得有点“宗教”了,我应该选择看起来正确的东西?
感谢你帮助我看到光明。
丹
【问题讨论】:
-
根据 David 的回答,我得出的结论是,只要我们对所做的更改小心谨慎,GAC 就是存储我们的程序集的好地方。我认为在单个可识别位置的单个可安装实体将使我们的整体开发和部署策略更易于管理和维护。所以,再次感谢大卫的回应。尽管这显然是一个主观性的领域,但我已将其标记为答案。谢谢,丹
标签: .net deployment gac