在Outlook 2010上访问电子邮件时获取COMException

Nik*_*las 5 c# email comexception visual-studio-2010

您好我试图通过C#控制台应用程序访问Outlook 2010中的电子邮件.

Visual Studio以管理员权限启动,我添加了一个引用Microsoft.Office.Interop.Outlook v14.0.0.0并将其用作Outlook.

我的代码:

Console.Write("starting");
Outlook.Application app = new Outlook.Application();
Outlook.NameSpace mapiNameSpace = app.GetNamespace("MAPI");
Outlook.MAPIFolder myInbox = mapiNameSpace.GetDefaultFolder(Outlook.OlDefaultFolders.olFolderInbox);
Console.WriteLine(((Outlook.MailItem)myInbox.Items[0]).Subject);
Console.WriteLine("readline:");
Console.ReadLine();
Run Code Online (Sandbox Code Playgroud)

第二行,抛出一条错误消息:

Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).
Run Code Online (Sandbox Code Playgroud)

你知道任何解决方案吗?

Ram*_*Ali 7

这是因为进程的权限.请以管理员身份运行Visual studio和outlook.

简单解决方案 以管理员身份运行或以普通权限级别运行.

关心拉米兹阿里


Dor*_*hen 5

请尝试阅读以下内容:http://support.microsoft.com/kb/870655

原因:
如果许多COM +应用程序在"此用户"属性中指定的不同用户帐户下运行,则计算机无法分配内存以为新用户创建新的桌面堆.因此,该过程无法启动.

替代方法:要解决此问题,请修改以下注册表子项的值:HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\SubSystems\Windows