.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而不是重复)

相关文章

Windows2012R2备用域控搭建 前置操作 域控主域控的主dns:自...
主域控角色迁移和夺取(转载) 转载自:http://yupeizhi.blo...
Windows2012R2 NTP时间同步 Windows2012R2里没有了internet时...
Windows注册表操作基础代码 Windows下对注册表进行操作使用的...
黑客常用WinAPI函数整理之前的博客写了很多关于Windows编程的...
一个简单的Windows Socket可复用框架说起网络编程,无非是建...