使用Microssoft.office.interop时出现错误

时间:2017-03-21 19:13:36

标签: c# visual-studio interop office-interop

我通常使用Office 2013(Word)中的interop在C#中开发的应用程序进行打印。然后我安装了Office 2007的版本,从那里,它不再工作了。这是我的例外:

您无法在接口类型“Microsoft.Office.Interop.Word._Application”中转换“Microsoft.Office.Interop.Word.ApplicationClass”类型的COM对象。此操作失败,因为IID接口“{00020970-0000-0000-C000-000000000046}”的COM组件上的QueryInterface调用由于以下错误而失败:加载类型的库/ DLL时出错。 (来自HRESULT的异常:0x80029C4A(TYPE_E_CANTLOADLIBRARY))。

我无法解决,如果有人可以帮助我,我会感谢你。

1 个答案:

答案 0 :(得分:1)

所以正在发生的事情是你有一个更高版本的空注册表项,因为它总是选择最高版本它需要空的。

因此,您需要进入注册表并删除空版本。为此,请单击Windows图标,然后键入regedit并按Enter键。然后,您应该看到注册表编辑器进入文件夹HKEY_CLASSES_ROOT,找到其中的文件夹TypeLib并尝试找到密钥{00020905-0000-0000-C000-000000000046}(这是Interop.Word密钥)

现在你已经进入它,你应该至少有2个文件夹。它们应该被命名为8.X如果你点击一个,你会看到它包含的一个,它只有一行以(默认)开头。该文件夹是您需要删除的空文件夹。通常最高的文件夹是你需要删除的文件夹,因此在8.6和8.7之间你应该删除8.7。