c# - Microsoft.Office.Interop.Word.dll - InvalidCastException
问题描述
我的机器上安装了 Office 365。特别是 MS Word 版本是 2012。
我创建了 C# 项目(VS 2019)并引用了 microsoft word 16.0 对象。它显示为 C:\WINDOWS\assembly\GAC_MSIL\Microsoft.Office.Interop.Word\15.0.0.0__71e9bce111e9429c\Microsoft.Office.Interop.Word.dll。
在下面的代码
Application application = new Application();
var document = application.Documents.Open(args[0])
投掷
System.InvalidCastException:'无法将'Microsoft.Office.Interop.Word.DocumentClass'类型的COM对象转换为接口类型'Microsoft.Office.Interop.Word._Document'。此操作失败,因为 IID 为“{0002096B-0000-0000-C000-000000000046}”的接口的 COM 组件上的 QueryInterface 调用因以下错误而失败:未注册接口(来自 HRESULT 的异常:0x80040155)。例外。
我检查了 \HKEY_CLASSES_ROOT\Wow6432Node\Interface{0002096B-0000-0000-C000-000000000046}\TypeLib 注册表项,它是空的(我的机器是 64 位的)。
我试图在其他机器上运行我的可执行文件,但得到了同样的错误。请指教。
解决方案
推荐阅读
- c# - 如何获取局部视图使用的布局?
- javascript - 为什么 TypeScript 抱怨父类继承?
- ios - iOS中的React Native:加载wasm导致索引错误时函数中的可执行内存不足
- dbeaver - Dbeaver 不会删除 gui 中的列
- lldb - LLDB 内存或运行时读写
- sql-server - java.sql.SQLException:I/O 错误:GSS 失败:未提供有效凭据(机制级别:..)
- postgresql - 如何修复 C++ 中 cmake 错误中的编译 libpq-fe.h
- maven - 范围系统与提供的类路径
- python - 从父文件夹循环导入,导致“无法执行相对导入”错误
- python - 类型对象“通知”没有属性“对象”