呼び出すアプリケーションがあります
Email hello = new Email(appropriate constructor);
hello.Email_Send();
例外が発生します:
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();
}
}
このエラーはこれまでに発生したことはなく、私が知っているコードに変更はありません。 http://support.Microsoft.com/kb/825118 症状に合わないようです-コンピューターが応答を停止していません。など、問題の診断に役立つ情報をいただければ幸いです。
このエラーは、管理者として実行されているVisual Studioが原因で発生しました。 Outlookでは、別のユーザーが同じメールボックスにアクセスすることを許可していません(デスクトップでOutlookアプリケーションを開いていました)。ドメインユーザーのローカル管理アクセス権があるにもかかわらず、VSを管理者として実行するには、プロセスを別のユーザーオブジェクトに関連付ける必要がありますか?これがどのように機能するかは正確にはわかりませんが...解決しました。
私は同じ問題に遭遇し、前述のとおり:Visual Studioが管理者として実行されている場合、Outlookは別のユーザーの別のインスタンスを阻止します。私のVSソリューションはいくつかのプロジェクトを開始しており、管理者として実行する必要があるため、デバッグ中にOutlookを管理者として実行しました。これは私の問題を解決しました。