前端之家收集整理的这篇文章主要介绍了
.net – 您是否在GAC中安装域DLL?,
前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我是.NET开发人员职业生涯中的大部分ASP.NET开发人员,因此我非常习惯于将所有DLL放在IIS目录的bin
文件夹中.
但是,在最近的一个项目中,我们必须在WCF Web服务和几个.exe程序之间共享几个DLL(大约50个),因此我们的一个团队成员建议我们可以将这些DLL安装到GAC中.
我没有看到这个想法有什么问题,但我只是觉得将特定产品的数据访问和业务逻辑等域DLL安装到GAC中是错误的,因为这些DLL不像System.Data,它可以在许多中重复使用不同的产品.
您是否将产品的DLL安装到GAC中?
警告,这是一个圣战区
我已经看到了两种方式,如果共享DLL我们通常是GAC它(这是我们简单的经验法则).基本上我们不希望多次出现相同的DLL.但是,如果库不稳定,我们会绕过此规则,也就是经常更改/新版本.
有些人认为最好自己封(放入垃圾箱),以防止有人重新安装可能导致应用程序崩溃的gac’d dll.通常,无论何时使用共享库,都需要在进行更改时注意.如果你打算打破其他人,你可能想考虑增加版本.然后,您可以将两个版本部署到GAC.
反对放置bin的另一个论点是,如果要安装新版本,则必须将其放在N个不同的位置.
我的偏见通过我的回答显示(我更喜欢gac而不是重复)