对COM组件的调用返回了错误HRESULT E_FAIL

问题概述

笔者在使用Visual Studio打开项目工程文件时,报错:

对COM组件的调用返回了错误HRESULT E_FAIL

解决方法

步骤一

在VS文件夹下找到Developer Command Prompt for XXX,如下图所示:

在这里插入图片描述

管理员身份运行 该命令行窗口:

在这里插入图片描述

步骤二

到达文件Microsoft.VisualStudio.Shell.Interop.11.0.dll所在目录:

在这里插入图片描述

注意切换路径时要先使用D:切换至D盘,再使用cd指令到达目的文件夹(所需切换的盘和需到达的文件夹以实际而定

执行下命令:

gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

gacutil:
全局程序集缓存工具gacutil.exe
——————————————————
gacutil -i :
向GAC(全局程序集缓存)中添加程序集

执行上述命令可能出现以下问题:

子问题1—找不到gacutil指令

在这里插入图片描述

此问题原因在于系统找不到gacutil.exe文件,其原因一般为在按照VS时为安装包含gacutil.exe文件的组件,要解决该问题,只需

A.重新打开Visual Studio安装程序

在这里插入图片描述

B.点击修改
在这里插入图片描述

C.勾选其中一个.NET Framework xxx SDK

在这里插入图片描述

D.点击修改

在这里插入图片描述

SDK安装完成即可在路径C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools下看到gacutil.exe

若后续使用gacutil指令时,系统依旧找不到该指令,则主要有两个解决方法:

→ 手动将gacutil.exe文件的绝对路径添加至环境变量Path中后再使用指令
gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll
——————————
→ 将命令行窗口中的路径切换至gacutil.exe文件所在目录,-i后的参数
Microsoft.VisualStudio.Shell.Interop.11.0.dll文件使用绝对路径/相对路径

子问题2—向缓存添加程序集失败

在这里插入图片描述
此问题原因在于系统找不到文件Microsoft.VisualStudio.Shell.Interop.11.0.dll,使用子问题1的两个解决方法均可解决此问题

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

HanWLang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值