【问题标题】:How to override assemblies in GAC如何覆盖 GAC 中的程序集
【发布时间】:2016-05-23 07:13:27
【问题描述】:

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

现在我收到了其中一个程序集的补丁,其程序集版本与以前完全相同。然后我将不得不覆盖 GAC 中的程序集。我该怎么做?

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

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

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

【问题讨论】:

  • @HansPassant,有什么理由不将此作为答案发布?
  • 嗯,当然,我已经做到了。如果您不能使用它自己发布问题的答案,那么我将不得不道歉。

标签: .net .net-assembly gac


【解决方案1】:

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

另外,也可以编写一个包装类,如this answer

【讨论】:

    猜你喜欢
    • 2017-09-23
    • 2011-07-25
    • 1970-01-01
    • 1970-01-01
    • 2010-12-14
    • 2010-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多