关于C#导出Word时报错“{00020970-0000-0000-C000-000000000046}加载类型库/DLL 时出错”的解决办法

之前还运行正常的程序,突然发现导出Word的时候会报错,报错内容:

System.InvalidCastException:"Unable to cast COM object of type

'Microsoft.Office.Interop.Word.ApplicationClass' to interface type

'Microsoft.Office.Interop.Word._Application'. This operation failed

because the QueryInterface call on the COM component for the interface

with IID '{00020970-0000-0000-C000-000000000046}' failed due to the

following error: 加载类型库/DLL 时出错。 (Exception from HRESULT: 0x80029C4A

(TYPE_E_CANTLOADLIBRARY))."

在别的电脑上试了一下程序导出Word都正常,就在我电脑上不行。于是在网上百度搜解决办法大家都是推荐进注册表,找到路径HKEY_CLASSES_ROOT\TypeLib\00020970-0000-0000-C000-000000000046\,里面可能存在多个版本比如8.4、8.5、8.7之类的,删除不用的只留下一个(删除前建议先右键导出注册表文件,这样删错了还能导回来),我的里面有这三个全都试过了依然不行,又尝试别的解决方法,还是改注册表但是不是这个路径下的了,结果错误变成了新的

System.Runtime.InteropServices.COMException:"远程过程调用失败

就算改回原来的配置,也一直提示"远程过程调用失败",再也不出现刚开始的那个错误了,百度搜到的全都是推荐改注册表的对我这种情况根本没用,没办法就换谷歌搜,总算是找到了一个官方的推荐修复方法:使用DISM或系统更新准备工具修复 Windows 更新错误,而且这个DISM工具是Windows里内置的不用下载,只需要管理员权限打开控制台(命令提示符),输入DISM/Online/Cleanup-Image/RestoreHealth回车。

这个过程比较慢大概十分钟左右,等待修复完成后再试一下导出Word就不报错了。

相关推荐
geovindu6 小时前
CSharp: Observer Pattern
开发语言·后端·观察者模式·设计模式·c#·.netcore·行为模式
我血条子呢7 小时前
前端解析word方案
前端·word
HUIBUR科技8 小时前
业务数据一键写入 Word 文档,稳定不跑版的免费方案 FormDocx
word
软件黑马王子10 小时前
20.Resources资源加载:基本实现
开发语言·前端框架·c#
张人玉11 小时前
基于 C# / .NET 8 + Windows Forms + SQLite 的桌面银行业务演示系统——华夏示范银行管理系统
windows·sqlite·c#·.net
1314lay_100711 小时前
C#调用Sql Server存储过程,并且使用传入表结构
数据库·经验分享·笔记·sqlserver·c#
慧都小妮子11 小时前
.NET 报表控件选型对比:Stimulsoft 与 FastReport 怎么选
c#·.net·报表开发·数据可视化·报表控件·报表引擎选型
1314lay_100713 小时前
C#调用Sql Server存储过程,有返回值的
数据库·sqlserver·c#
我是唐青枫13 小时前
C#.NET PInvoke 深入解析:封送、内存布局与原生互操作实战
开发语言·c#·.net
Am-Chestnuts13 小时前
AI 生成的数学公式,怎么用 DS随心转 导出成 Word 里能改的公式
人工智能·c#·word