注释
本文特定于 .NET Framework。 它不适用于 .NET 的较新版本实现,包括 .NET 6 及更高版本。
可通过两种方法从全局程序集缓存中删除程序集(GAC):
使用全局程序集缓存工具(Gacutil.exe)。 可以使用此选项卸载在开发和测试期间放置在 GAC 中的程序集。
使用 Windows Installer。 在测试安装包和生产系统时,应使用此选项卸载程序集。
删除具有 Gacutil.exe 的程序集
在命令提示符处,键入以下命令:
gacutil -u<程序集名称>
在此命令中, 程序集名称 是要从全局程序集缓存中删除的程序集的名称。
警告
不应使用 Gacutil.exe 删除生产系统上的程序集,因为某些应用程序可能仍需要程序集。 相反,应使用 Windows Installer,它维护它在 GAC 中安装的每个程序集的引用计数。
以下示例删除从全局程序集缓存中命名 hello.dll 的程序集:
gacutil -u hello
使用 Windows Installer 删除程序集
从控制面板中的“程序和功能”应用中,选择要卸载的应用。 如果安装包将程序集放置在 GAC 中,则 Windows Installer 将删除它们(如果其他应用程序不使用它们)。
注释
Windows Installer 维护 GAC 中安装的程序集的引用计数。 仅当程序集的引用计数达到零时,程序集才会从 GAC 中删除,这表示它不会由 Windows Installer 包安装的任何应用程序使用。