我无法从GAC卸载程序集(log4net.dll)。它给出了以下错误。
“一个或多个应用程序需要组装”。
但是,如果我使用ProcessExplorer搜索程序集,则不会出现任何问题?如何从GAC中删除此程序集?
答案 0 :(得分:26)
您是否考虑过阅读this KB article并尝试一下?
警告如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要您重新安装操作系统。微软无法保证可以解决这些问题。修改注册表需要您自担风险。
要解决此问题,请在注册表编辑器中检查以下子项的值列表:
HKEY_CURRENT_USER \ SOFTWARE \微软\安装\组件\环球 的 HKEY_LOCAL_MACHINE \ Software \ Classes下\安装\装配\全球强>
如果条目的值是Windows Installer描述符,请删除该条目。 例如,该值可能是一个神秘的REG_MULTI_SZ条目,类似于以下内容: = ysgSC6wx9uiD1dqmmjW>!?米$ GP ^ D'甲@ Z} GN3} LTA
注意您必须删除该条目。不要只清除条目的值。
答案 1 :(得分:6)
最可能的原因是您已通过Windows Installer(msi-package)安装了log4net程序集。如果是这种情况,请尝试使用“添加/删除程序”将其卸载。
答案 2 :(得分:0)
以下步骤帮助我删除了Microsoft.ReportViewer.Common,Version=12.0.0,PublicKeyToken=89845dcd8080cc91
来自gac
cd %systemroot%\assembly\
在这里,您可能有多个“ gac”目录,因此您将不得不在每个目录中进行搜索以找到您的组件。
cd gac_msil
cd <assembly DLL name>
cd <assembly version number>__<public key token>
例如:12.0.0.0__89845dcd8080cc91
erase *.*
对“确定”说“ y”。
cd ..
rd <assembly version number>__<public key token>
cd ..
rd <assembly DLL name>