首页 > 解决方案 > 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#office-interop

解决方案


推荐阅读