首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Outlook Interop异常

Outlook Interop异常
EN

Stack Overflow用户
提问于 2013-08-22 06:35:23
回答 10查看 7.4K关注 0票数 1

试图将Outlook自动化为

代码语言:javascript
复制
Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();    
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");

并在第二行获得以下异常,即GetNamespace

无法将'Microsoft.Office.Interop.Outlook.ApplicationClass‘类型的COM对象转换为接口类型'Microsoft.Office.Interop.Outlook._Application'.此操作失败,因为对IID‘{00063001-0000-0000-C000-000000000046}的接口的COM组件的QueryInterface调用失败,原因是以下错误:不支持此类接口( HRESULT: 0x80004002 (E_NOINTERFACE)例外)。

我正在使用.Net Framework 4Outlook 2013

this是唯一的解决方案!因为我试图避免对注册表做任何更改。

编辑

this没有解决这个问题。

编辑如果引用的库是Office 15,而安装的库是10或12,它能工作吗?

EN

回答 10

Stack Overflow用户

发布于 2016-08-31 15:39:12

我被这个问题困扰了好几天了。这对我起了作用:

我刚刚意识到2013年展望是64位.我的C#应用程序在Properties ->中将“任意CPU”作为平台目标,并在“偏好32位”中添加了一个复选标记。

我将平台目标更改为x64,它成功了!

票数 3
EN

Stack Overflow用户

发布于 2013-09-04 06:21:00

此异常通常发生在安装了两个版本的Office,然后卸载一个版本时。为仍然安装的Office运行修复安装,这将修复注册表项。

票数 2
EN

Stack Overflow用户

发布于 2013-08-23 13:39:28

异常情况看起来很明显,这应该有效。

代码语言:javascript
复制
    var myApp = new Microsoft.Office.Interop.Outlook.Application();

你就是不能得到上面那一行的强制异常。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18373260

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档