VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL

之前电脑装的vs 2012,后面由于需要用到程序包,还有其它原因升级成vs 2019。在用的过程中需要添加新的引用,结果发现出现问题。问题现象是,右键“引用”,选择“添加应用”,直接报错,对COM组件的调用返回了错误HRESULT E_FAIL。在网上百度了下,大部分都是一笔带过,执行一个命令,很少有图文讲解的。所以解决起来还是比较麻烦,这里借鉴了一个博主的文章,然后解决的,在解决问题的过程中还有其它问题,这篇文章补充下。

问题截图:
在这里插入图片描述VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第1张图片

第一步:运行Developer Command Prompt for VS 2019

怎么运行?有两种方法,第一种直接去路径下找,一般这个路径都是差不多的。我的在这个目录下,
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第2张图片或者点击菜单,在Visual Studio 2019文件夹下也有。
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第3张图片
第二种,直接搜索
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第4张图片
运行程序后,程序的安装目录就会显示出来
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第5张图片
第二步:执行gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll命令

这里记住命令要到指定目录下才能执行,我一开始上来就执行,结果报错了。
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第6张图片

将程序集添加到缓存失败:系统找不到指定的文件。

VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第7张图片
网上说的路径可能不一样,应该跟版本有关系,反正多试试,我的vs 2019需要执行命令路径在 …\Common7\IDE\PublicAssemblies 这里
利用命令 cd E:…\Common7\IDE\PublicAssemblies,然后在执行命令,出现程序集已成功添加到缓存中就可以了。
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第8张图片
现在再去试下添加引用,发现可以了。
VS 2019 解决对COM组件的调用返回了错误HRESULT E_FAIL_第9张图片
借鉴: https://blog.csdn.net/zam183/article/details/85291960

你可能感兴趣的:(.NET,com)