如何在GAC中覆盖程序集

时间:2016-05-23 07:13:27

标签: .net .net-assembly gac

在我的应用程序中,我将第三方程序集安装到GAC中。这些第三方程序集是非常大的dll文件,因此我不想将它们部署在应用程序bin文件夹中,以节省磁盘空间。

现在我在其中一个程序集上收到一个补丁,其装配版本与之前完全相同。然后我必须覆盖GAC中的程序集。我怎么能这样做?

有些用户可能安装了我的应用程序的许多不同版本,我不能只发布带有修补程序集的新版本并要求他们卸载所有这些旧版本,因为这将非常繁琐。

我也不能使用GacUtil,因为如上所述,我必须在客户端计算机上部署这些程序集,而不使用像VS 2015这样的标准调试工具。

我在想的是我想通过命令行或安装程序覆盖GAC中确切的错误程序集。我怎么能这样做?

1 个答案:

答案 0 :(得分:0)

正如我所知,最简单的方法是将DLL拖放到相应的GAC文件夹中。我已经在Windows 7和Windows 10上进行了测试,它可以正常运行!

此外,还可以像this answer一样编写包装类。