我想卸载 C:\Windows\Microsoft.NET\assembly\GAC_64 下的一个不需要的 DLL 版本,据我所知,它用于提供依赖于 .NET 4.0 的软件。我看到另一个 GAC 文件夹 C:\Windows\assembly 中存在我所需的 DLL 版本,据我所知,它用于提供为 .NET 2.0 和 .NET 3.5 编写的程序。如果我执行“gacutil -u unwanted.dll”,我会收到消息“未找到匹配的程序集:unwanted.dll”。但是我看到 DLL 就在文件夹中!我认为 gacutil 命令至少会注意到这两个 DLL 中的一个,并且应该已经卸载了,但是没有!请帮忙。如果您向我展示如何从另一个 GAC 文件夹卸载以供将来参考,我将不胜感激。谢谢!
答案1
哦,等等……没关系。看来我做错了。卸载需要我向 gacutil 提供我的程序集的显示名称,而不是路径!所以我应该写“gacutil -u unwanted”。显示名称只是“unwanted”,而不是“unwanted.dll”。我通过执行“gacutil /l > C:\GAC_Assemblies.txt”然后在生成的 C:\GAC_Assemblies.txt 文件的内容中搜索我的 DLL 名称来获得它。有趣的是,这删除了我的 DLL 的不需要的和想要的版本,所以现在我只需要返回并重新安装想要的版本,这样就好了。