Zee*_*Zee 26 c# outlook office-interop
我有一个应用程序调用
Email hello = new Email(appropriate constructor);
hello.Email_Send();
Run Code Online (Sandbox Code Playgroud)
我收到了例外:
由于以下错误,检索具有CLSID {0006F03A-0000-0000-C000-000000000046}的组件的COM类工厂失败:80080005服务器执行失败(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();
}
}
Run Code Online (Sandbox Code Playgroud)
此错误以前从未发生过,并且我所知道的代码没有任何变化.http://support.microsoft.com/kb/825118似乎不符合我的症状 - 我的电脑没有停止响应等.任何诊断问题的帮助将不胜感激!
Zee*_*Zee 75
此错误是由visual studio以管理员身份运行引起的.Outlook不允许单独的用户访问同一个邮箱(我在桌面上打开了outlook应用程序).即使我有本地管理员访问w /我的域用户,运行VS作为管理员必须将该进程关联到另一个用户对象?不完全确定这是如何工作的,但......已经解决了.
我遇到了同样的问题,如前所述:如果 Visual Studio 以管理员身份运行,则 Outlook 会阻止另一个具有不同用户的实例。我的 VS 解决方案正在启动几个项目,我需要它以管理员身份运行,所以我所做的是在调试时以管理员身份运行 Outlook。这解决了我的问题。