问题:
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博客