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

news2024/12/24 3:40:47

问题:

VSCode使用 “MFC应用”模板创建项目时,出现:文件夹打不开,并弹出 “对COM组件的调用返回了错误HRESULT E_FAIL” 错误  

 解决方案:

1. 以管理员身份打开Developer Command Prompt for VS 2019(vs2019开发人员命令提示符)

【注意】一定是以 Visual Studio 的管理员身份打开的:按下Window键,打开菜单栏,搜索Visual Studio ,在文件夹中找到对应的 命令行:

 2.  命令行路径 进入 到VS2019安装目录 的 PublicAssemblies 文件路径下

 输入 : gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll  指令

3.  此时,可能会有提示 " gacutil不是批处理文件,不是内部或外部的命令,原因是没有找到该文件 "

解决方案:将gacutil路径添加到环境变量上

此电脑,右键-》属性-》高级系统设置-》环境变量-》系统环境变量,path,编辑-》新建,找到gacutil路径-》将路径复制到环境变量中,点击确定 

gacutil 的路径一般是 : 

加入 环境变量后重启VSCode 后,

再一次 在 管理员身份下的 Developer Command Prompt for VS 2019 命令行中  重复执行   gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll  指令

理论上,应该就直接导入了,但是:

若刚刚的步骤中发现:电脑上就没有 gacutil  这个 gacutil.exe 这个文件 ,那么应该是安装 Visual Studio 时少装了点东西,现在补上也来得及:

(1)修改 Visual Studio Installer 的一些配置:

(1.1) 如何打开Visual Studio Installer:  打开Visual Studio,编辑器的菜单栏,找到【工具】,打开下拉框,选择【获取工具和功能】

ref : 如何打开 Visual Studio Installer 安装页面_堕天使龙龙的博客-CSDN博客

(2)

(3) 

 (4)若发现自己一个.NET Framework SDK 都没有选择,那么选一个

 比如我这选了圈起来的SDK

(5)然后就能在 “C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools” 这个路径下看到gacutil.exe了。


到这儿应该就可以了,如果还会提醒gacutil不是内部命令的话,再把gacutil.exe所在的““C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools”路径添加到环境变量path中。 【添加完环境变量后,重启visual studio 才会生效】

(6) 但是,但是,还是不行,还TM在命令行中提示 找不到 gacutil 命令,那就把 vs2019的安装路径也放到环境变量中 :

导入dll成功会出现下面的提示:


 

 然后,重启Visual Studio ,新建 MFC应用,如果  还是  打不开文件夹,提示COM ... 错误,那就 检查下 你的文件夹名字命名是否有问题:

(1)不允许出现下划线 

(2)不允许文件夹以数字开头

以上


参考博客: 

VS2019创建MFC项目时出现无法打开文件对话框,后显示HRESULT_FAIL的对话框 - guide123 - 博客园 (cnblogs.com)

VS2019中gacutil不是内部或外部命令,也不是可运行的程序_gacutil' 不是内部或外部命令,也不是可运行的程序_舒心远航的博客-CSDN博客

如何打开 Visual Studio Installer 安装页面_堕天使龙龙的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/714839.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

敏捷开发发展和优缺点

目录 1 概述1.1 四种开发模式1.1.1 瀑布式开发1.1.2 螺旋模型1.1.3 迭代式开发1.1.4 敏捷开发 1.2 开发模式对比 2 敏捷开发2.1 敏捷宣言2.1.1 敏捷宣言解读2.1.2 敏捷宣言价值观 2.2 敏捷准则2.2.1 目的:是客户满意2.2.2 态度:欢迎需求变更2.2.3 关注&a…

加油,也可以更智慧

摘要:智慧加油站及油库管理系统的应用引擎是结合了华为云Roma Exchange能力,提升应用开发、部署和升级效率,支撑应用快速开发、远程部署。 停车、加油、驶离…… 从开车进场到离场,2分钟内即可完成“即加即走”的无感加油支付有没…

如何自动批量查询手机号归属地?

我们在工作生活中可能会收集到很多用户的手机号,我们如果想获取手机号归属地,只能一个个人工查询。如果数据量较多的情况就会比较耗费时间。有没有什么方法可以自动查询手机号归属地呢?当然可以,并且这个方法还是免费的。 首先&a…

qt-线程竞争共享资源和读写锁--QReadWriteLock

目录 一、线程竞争的概念2、什么是线程竞争2、什么是线程竞争共享资源? 二、读写锁1、读写锁的概念2、读写锁的工作原理如下:3、使用读写锁的示例(QReadWriteLock) 三、总结: 一、线程竞争的概念 2、什么是线程竞争 …

网络安全进阶学习第五课——文件上传漏洞

文章目录 一、常见文件上传点二、任意文件上传漏洞三、任意文件上传危害四、webshell五、上传木马所需条件六、木马上传流程七、上传绕过1、绕过JS验证1)Burpsuite剔除响应JS。2)浏览器审计工具剔除JS 2、绕过MIME-Type验证1)利用抓包工具&am…

Session 反序列化漏洞

将$_SESSION中保存的所有数据序列化存储到PHPSESSID对应的文件中有三种存取格式: (1)默认使用php:键名|键值(经过序列化函数处理的值) name|s:6:"1FonlY"; (2)php_seri…

Multi-level Wavelet-CNN for Image Restoration论文总结

论文:Multi-level Wavelet-CNN for Image Restoration 源码:GitHub - lpj0/MWCNN: Multi-level Wavelet-CNN for Image Restoration 目录 一、背景和出发点 二、创新点 三、MWCNN具体实现 四、DWT与池化运算和膨胀卷积相关性证明 五、DWT、IWT代码实…

阿里云服务器白嫖教程

阿里云服务器白嫖教程 第一步:打开百度第二步:进入阿里云官方,注册登录账号第三步:点击免费试用第四步:点击立即试用第五步:选择操作系统第五步:选择到期释放设置![在这里插入图片描述](https://img-blog.csdnimg.cn/d02f4582dd5943319441df9ccbae60f0.png)第六步:同意协议,并立…

3D深度视觉与myCobot 320机械臂无序抓取

今天我记录使用myCobot320 M5跟FS820-E1深度相机进行一个无序抓取物体的分享。 为什么会选择深度相机和机械臂做一个案例呢? 2D相机(最常见使用的相机)可以捕捉二维图像,也就是在水平和垂直方向上的像素值。它们通常用于拍摄静态…

F#奇妙游(5):计算π的值

F#到底有什么用? 奇妙游写到第五篇,前面的几篇都是开场白: 一个用F#编写WinForm的例子donet命令行工具,也就是F#的开发环境关于函数和函数式编程的碎碎念函数式编程的核心概念:值 下面,我们开始正式来搞…

数据库左、右、内、逗号、全连接(mysql不包含全连接)方式

1、准备数据 学生有归属班级 学生表 班级表 2、执行查询语句 2.1执行左关联 select * from student stu left join class cla on (stu.class_idcla.class_id); 结果如下 2.2执行右关联 2.3、执行内连接 2.4执行逗号分隔表的连接方式 和内连接的查询结果是一样的

实训笔记7.3

实训笔记7.3 7.3一、座右铭二、单例模式三、IDEA集成开发环境的安装和基本使用四、Debug断点调试4.1 作用有两个4.2 用法:4.3 IDEA设置step into进入JDK源码4.4 step over4.5 step into 五、Java中的网络编程5.1 网络编程的三个核心要素5.2 通过Java实现网络编程 7.…

第三章 搜索与图论(二)——最短路问题

文章目录 单源最短路朴素Dijkstra堆优化版DijkstraBellman Ford算法SPFASPFA求负环 多源汇最短路Floyd 最短路练习题849. Dijkstra求最短路 I850. Dijkstra求最短路 II853. 有边数限制的最短路851. spfa求最短路852. spfa判断负环854. Floyd求最短路 源点表示起点,汇…

Linux系统远程挂载Mac OS系统目录方法

打开mac文件共享功能 开启共享服务 进入系统偏好设置中的共享选项。勾中文件共享(如下图),之后右边的文件共享的绿灯会点亮,并显示“文件共享:打开”。 添加共享目录 点击在文件共享界面(如下图&#x…

【狂神】MySQL - 数据库级别的外键

1. 外键 FOREIGN KEY (了解) 测试数据 : 学生表 CREATE TABLE IF NOT EXISTS student (id INT(4) NOT NULL AUTO_INCREMENT COMMENT 学号,name VARCHAR(30) NOT NULL DEFAULT 匿名 COMMENT 姓名,pwd VARCHAR(20) NOT NULL DEFAULT 123456 COMMENT 密码,sex VARC…

【数据结构与算法】 完成用十字链表存储的稀疏矩阵的加法运算

题目: Qestion: 完成用十字链表存储的稀疏矩阵的加法运算。 主要思路: 获取两个稀疏矩阵总有多少个非零元素,记作cnt。当cnt 不为零时一直循环,每循环一次i,也就是行循环,每循环一次就转移至下一行。先从…

Git常用指令总结

1、git init&#xff1a;初始化一个Git仓库&#xff1b; 2、git clone&#xff1a;从远程仓库克隆代码到本地&#xff1b; 直接使用网址 git clone <url>or 用a代替网址 git remote add a <url>git clone a3、git add&#xff1a;添加文件到暂存区&#xff1b; 文件…

K8S数据管理

K8S数据管理 1 数据管理1.1 数据持久化1.1.1 存储方案1.1.2 EmptyDir实践1.1.3 hostPath实践1.1.4 NFS实践 1.2 持久化进阶1.2.1 数据对象1.2.2 PV&PVC实践1.2.3 SC解析1.2.4 SC实践 1.3 配置管理1.3.1 配置基础1.3.2 CM1.3.3 CM案例1.3.4 Secret1.3.5 Secret案例 1.4 状态…

36. QT中使用QFtp实现文件传输1 -- 本地文件或文件夹上传到远程服务器

1. 说明 在使用QT进行嵌入式开发或者是使用到TCP控制传输时,有时程序的正常运行会用到某一个文件或者整个文件夹,此时就需要软件方面将需要的文件或者文件夹传输到远程服务器上。在QT中主要有两种方式可以实现这个功能,一个是QT4中使用QFtp这个类来实现,这个类提供了很丰富…

每天一点Python——day48

#第四十八天 #什么是元组为什么元组没有增删改操作和生成式&#xff1f; 元组&#xff1a;Python内置的数据结构之一&#xff0c;是一个不可变序列 不可变序列&#xff1a;没有增删改操作【例如字符串&#xff0c;元组】 可变序列&#xff1a;可以执行增删改操作&#xff0c;操…