在尝试安装某些第三方控件时反复出现2147024891
错误后,调查显示它无法将某些DLL安装到GAC中。我试图找出原因,以下是我遇到的其他一些症状:
- 浏览到
C:Windowsassembly
会得到一个空列表 - 从开发人员命令提示符(作为管理员),
gacutil -l
返回Number of items = 0
- 使用DOS命令提示符列出
C:Windowsassembly
和C:WindowsMicrosoft.NETassembly
的内容表明安装了相当多的项目 - Nirsofts GacViewer工具显示589个已安装的程序集
- Visual studio正在运行,可以打开和构建解决方案,只有WinForms设计师有一些怪癖(可能与GAC中缺少的项目有关?)
乍一看,这似乎是一个权限问题,但我是机器的本地管理员,所以可能有什么问题?windows 10是否需要"本地管理员"默认情况下没有的任何附加权限来操作GAC?
如果我右键单击,并选择"以管理员身份运行"打开命令提示符,然后运行:
gacutil -i myassembly.dll
然后我仍然得到:
将程序集添加到缓存失败:使用所选选项需要管理员权限。使用管理员命令提示符来完成这些任务。
安装Microsoft.NET Framework修复工具后,所有问题都消失了。
显然,禁用Windows Search
服务在某些情况下会有所帮助,但这对我来说不起作用。修复工具起了作用。