web-dev-qa-db-fra.com

Pourquoi reçois-je une exception de la bibliothèque Outlook d'Office?

J'ai une application qui appelle

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

Je reçois l'exception:

La récupération de la fabrique de classes COM pour le composant avec CLSID {0006F03A-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante: 80080005 Échec de l'exécution du serveur (exception de HRESULT: 0x80080005 (CO_E_SERVER_EXEC_FAILURE)).

de 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();
    }
}

Cette erreur ne s'est jamais produite auparavant et aucun changement n'a été apporté au code que je connaisse. http://support.Microsoft.com/kb/825118 ne semble pas correspondre à mes symptômes - Mon ordinateur ne cesse de répondre, etc. Toute aide pour diagnostiquer le problème serait grandement appréciée!

27
Zee

Cette erreur a été provoquée par Visual Studio exécuté en tant qu'administrateur. Outlook ne permet pas à des utilisateurs distincts d'accéder à la même boîte aux lettres (j'avais l'application Outlook ouverte sur le bureau). Même si j'ai un accès administrateur local avec mon utilisateur de domaine, l'exécution de VS en tant qu'administrateur doit associer le processus à un autre objet utilisateur? Je ne sais pas exactement comment cela fonctionne, mais ... Résolu.

72
Zee

J'ai rencontré le même problème, et comme indiqué précédemment: si Visual Studio s'exécute en tant qu'administrateur, Outlook empêche une autre instance avec un utilisateur différent. Ma solution VS démarre plusieurs projets, et j'en ai besoin pour fonctionner en tant qu'administrateur, donc ce que j'ai fait est d'exécuter Outlook en tant qu'administrateur lors du débogage. Cela a résolu mon problème.

4
lukiller