如何:从全局程序集缓存中删除程序集

注意

本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。

有两种方法可以从全局程序集缓存 (GAC) 中移除程序集:

使用 Gacutil.exe 删除程序集

在命令提示符处,键入下列命令:

gacutil –u <assembly name>

在此命令中,“assembly name”是要从全局程序集缓存中删除的程序集的名称。

警告

不应使用 Gacutil.exe 来移除生产系统上的程序集,因为一些应用程序可能仍需要该程序集。 应改为使用 Windows Installer,它保留了它在 GAC 中安装的每个程序集的引用计数。

以下示例从全局程序集缓存中删除名为 hello.dll 的程序集:

gacutil -u hello

使用 Windows Installer 移除程序集

在“控制面板”的“程序和功能”应用中,选择要卸载的应用 。 如果安装包将程序集放入 GAC,在没有其他应用程序使用这些程序集的情况下,Windows Installer 将移除它们。

备注

Windows Installer 保留了安装在 GAC 中的程序集的引用计数。 仅当程序集的引用计数为零时才可将其从 GAC 移除,计数为零时意味着它没有被任何 Windows Installer 包安装的应用程序所使用。

请参阅