为什么会收到Office Outlook库的异常?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (18)

我有一个应用程序

Email hello = new Email(appropriate constructor);
hello.Email_Send();

我收到了例外情况:

使用CLSID{0006F03A-0000-0000-C000-000000000046}检索组件的COM类工厂,由于以下错误而失败:80080005 Server execution failed (Exception from HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE))

System.Runtime.InteropServices.COMException...

using O = Microsoft.Office.Interop.Outlook;    
class Email
{
    public void Email_Send()
    {
        O.Application outlook = new O.Application(); //Exception thrown here.
        O.MailItem message = outlook.CreateItem(O.OlItemType.olMailItem);
        message.To = Receiver;
        message.CC = Sender;
        message.Subject = Subject;
        message.Body = "This is an automated message sent at " + DateTime.Now.ToString("HH:mm:ss") + " about " + Body_Topic + System.Environment.NewLine + Body_Content ;
        message.Send();
    }
}

此错误以前从未发生过,而且我所知道的代码没有任何更改。http://Support.microsoft.com/kb/825118似乎不符合我的症状-我的电脑没有停止反应,等等。任何诊断问题的帮助都将不胜感激!

提问于
用户回答回答于

此错误是由作为admin运行的visual studio造成的。Outlook不允许单独的用户访问同一个邮箱(我在桌面上打开了Outlook应用程序)。即使我有本地管理访问权限w/我的域用户,运行VS作为管理员必须将进程关联到另一个用户对象?不太清楚这是怎么回事,但是.解决了。

用户回答回答于

我遇到了同样的问题,正如前面所说:如果VisualStudio以管理员身份运行,Outlook将防止另一个具有不同用户的实例。我的VS解决方案正在启动多个项目,我需要它作为管理员运行,所以我所做的就是在调试时以管理员身份运行Outlook。这解决了我的问题。

扫码关注云+社区