Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/310.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Outlook互操作异常_C#_Com_Outlook_Office Interop_Com Interop - Fatal编程技术网

C# Outlook互操作异常

C# Outlook互操作异常,c#,com,outlook,office-interop,com-interop,C#,Com,Outlook,Office Interop,Com Interop,尝试将Outlook自动化为 Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass(); Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI"); 并在第二行获得以下异常,即GetNamespace 无法强制转换类

尝试将Outlook自动化为

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.ApplicationClass();    
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
并在第二行获得以下异常,即
GetNamespace

无法强制转换类型为的COM对象 将“Microsoft.Office.Interop.Outlook.ApplicationClass”更改为接口类型 “Microsoft.Office.Interop.Outlook.\u应用程序”。这次手术 失败,因为对的COM组件的QueryInterface调用失败 与IID“{00063001-0000-0000-C000-0000000000 46}”的接口失败 由于以下错误:不支持此类接口(异常 来自HRESULT:0x80004002(E_NOINTERFACE))

我正在使用
.netframework4
outlook2013

是唯一的解决办法!!!因为我试图避免对注册表进行任何更改

编辑

没有解决问题

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

您尝试过这个吗

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");
你试过这个吗

Microsoft.Office.Interop.Outlook.Application myApp = new Microsoft.Office.Interop.Outlook.Application();
Microsoft.Office.Interop.Outlook.NameSpace mapiNameSpace = myApp.GetNamespace("MAPI");

异常看起来很明显,这应该可以工作

    var myApp = new Microsoft.Office.Interop.Outlook.Application();

上面这一行不能显示强制转换异常。

异常看起来很明显,这应该可以

    var myApp = new Microsoft.Office.Interop.Outlook.Application();

上面这一行不能显示强制转换异常。

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

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

9.5版本的修复对我不起作用,因为没有过多的9.5字段

   //DECLARE
    Microsoft.Office.Interop.Outlook.Application app = null;
    Microsoft.Office.Interop.Outlook.NameSpace ns = null;

  //INITIALISE
    app = new Microsoft.Office.Interop.Outlook.Application();
    ns = app.Session;
在我的例子中,问题是当我降级到Outlook 2010时,我修改了安装位置(即不在默认的ProgramFiles文件夹中)。 但是,windows没有相应地更新“HKEY_CLASSES_ROOT\TypeLib{00062FFF-0000-0000-C000-0000000000 46}\9.4\0\win64”中的值


手动更新值并将其指向正确位置后,问题得到解决。

9.5版本的修复对我来说不起作用,因为没有过多的9.5字段

在我的例子中,问题是当我降级到Outlook 2010时,我修改了安装位置(即不在默认的ProgramFiles文件夹中)。 但是,windows没有相应地更新“HKEY_CLASSES_ROOT\TypeLib{00062FFF-0000-0000-C000-0000000000 46}\9.4\0\win64”中的值


手动更新值并将其指向正确位置后,问题得到解决。

我遇到了与您完全相同的错误消息,我的问题是我安装了Office 2016 x64,而尝试调用它的应用程序被编译为x86。切换到x86 Office 2016为我解决了这个问题。

我遇到了与您完全相同的错误消息,我的问题是我安装了Office 2016 x64,而尝试调用它的应用程序被编译为x86。切换到x86 Office 2016为我解决了这个问题。

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

我刚刚意识到Outlook 2013是64位的。。。我的C#应用程序在项目属性->构建“任意CPU”作为平台目标,并在“首选32位”中打上复选标记


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

这个问题困扰了我好几天了。这对我很有用:

我刚刚意识到Outlook 2013是64位的。。。我的C#应用程序在项目属性->构建“任意CPU”作为平台目标,并在“首选32位”中打上复选标记


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

对于我来说,从该注册表中删除9.5条目可以:


HKEY\U CLASSES\U ROOT\TypeLib\{00062FFF-0000-0000-C000-0000000000 46}

对于我来说,从该注册表中删除9.5条目可以:


HKEY\u CLASSES\u ROOT\TypeLib\{00062FFF-0000-0000-C000-0000000000 46}

我也有这个问题。我使用Mobisynapse桌面应用程序更新我的Android日历和联系人。使用Office 2010,我决定升级到Office 2016。在看到它是一个Office 365产品后,我卸载了它。这导致注册表将Office 2010主互操作程序集从32位更改为64位。Mobisynapse MB4Outlook开始报告同步错误“同步失败”。 Mobisynapse–财政部错误3/31/19 桌面上的同步失败–outlook有问题 当我单击自动同步设置时,我会从安装应用程序的位置收到“请先更新MB4Outlook加载项”

当您尝试64位的Office365产品并安装了32位的office 2007-2013时,就会出现此问题的解决方案。 步骤1:卸载Office xxxx主互操作程序集。如果找不到包,请从此处下载。安装它。 步骤2:运行Office xxxx安装并选择修复。
第三步:重新启动,应该可以解决问题。

我也有这个问题。我使用Mobisynapse桌面应用程序更新我的Android日历和联系人。使用Office 2010,我决定升级到Office 2016。在看到它是一个Office 365产品后,我卸载了它。这导致注册表将Office 2010主互操作程序集从32位更改为64位。Mobisynapse MB4Outlook开始报告同步错误“同步失败”。 Mobisynapse–财政部错误3/31/19 桌面上的同步失败–outlook有问题 当我单击自动同步设置时,我会从安装应用程序的位置收到“请先更新MB4Outlook加载项”

当您尝试64位的Office365产品并安装了32位的office 2007-2013时,就会出现此问题的解决方案。 步骤1:卸载Office xxxx主互操作程序集。如果找不到包,请从此处下载。安装它。 步骤2:运行Office xxxx安装并选择修复。
第3步:重新启动,应该可以解决问题。

同样的错误,完全相同