Outlook 2007 à partir de C# - COM exception, TYPE_E_LIBNOTREGISTERED
Je suis en train de faire un programme qui permettrait d'ouvrir de nouveaux message d'Outlook 2007.
J'ai référencé d'onglet COM Microsoft Outlook 12.0 ObjectLibrary.
Ces éléments ont montré dans les références dans VS:
Microsoft.Office.Core
Microsoft.Office.Inerop.Outlook
Maintenant, j'essaie d'invoquer code suivant:
var _outlookInstance = new Microsoft.Office.Interop.Outlook.Application();
var _message = (OutlookApp.MailItem)_outlookInstance.CreateItem(OutlookApp.OlItemType.olMailItem);
où OutlookApp==Microsoft.Bureau de.Interop.Outlook espace de noms.
Lors de l'ouverture de la seconde ligne de l'inscription, je reçois cette exception: (InvalidCastException)
Impossible de convertir l'objet COM de type
"Microsoft.Bureau de.Interop.Outlook.ApplicationClass'
pour type d'interface
"Microsoft.Bureau de.Interop.Outlook._Application'.
Cette opération a échoué car l'
Appel de QueryInterface sur la COM
composant de l'interface avec IID
'{00063001-0000-0000-C000-000000000046}'
a échoué en raison de l'erreur suivante:
Bibliothèque annulé.
(Exception de HRESULT: 0x8002801D
(TYPE_E_LIBNOTREGISTERED)).
Que le code a bien fonctionné pour Outlook 2003 sur mon autre station.
Je vais être reconnaissant pour toutes les idées sur la façon de le résoudre.
OriginalL'auteur PK. | 2010-02-27
Vous devez vous connecter pour publier un commentaire.
Cela peut également se produire lorsque vous avez désinstallé une installation office 2013 et office 2010.
Il pourrait y avoir quelques clés de registre et les dll de gauche, ce qui cause l'application office pour charger le mauvais dll(s).
Voici le corrigé: http://www.fieldstonsoftware.com/support/support_gsyncit_2013.shtml
HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.5
a fait le tour! C'est une erreur avec le Office 2013 programme de désinstallation.Bonne trouvaille, qui a résolu mon problème +1
Qui n'a pas fonctionné pour moi, il n'y a pas d'excès de 9.5 champ. Dans mon cas, le problème était que lorsque j'ai rétrogradé à Outlook 2010 j'ai modifié l'emplacement de l'installation (c'est à dire pas par défaut dans le dossier ProgramFiles). Cependant, les fenêtres n'étaient pas à jour en conséquence la valeur dans "HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}\9.4\0\win64" Après mise à jour manuelle de la valeur et de la pointer vers le bon endroit, le problème a été résolu.
OriginalL'auteur Daniel Ranft
Office n'est pas installé correctement sur cette machine. Vous pouvez le vérifier avec Regedit.exe, accédez à
HKEY_CLASSES_ROOT\Interface\{00063001-0000-0000-C000-000000000046}\TypeLib
pour vérifier le type GUID de la bibliothèque (qui devrait être {00062FFF-0000-0000-C000-000000000046}), puis àHKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046}
pour vérifier que la bibliothèque de type est en effet enregistré correctement, en utilisant le bon type de bibliothèque de numéro de version. La dernière partie devrait être le problème.Si la cible de la machine exécute une version 64 bits de Windows, essayez de définir le Projet + Propriétés, la construction, Plateforme Cible x86.
à propos de cette deuxième étape: lorsque je navigue à cet endroit d'une valeur stockée dans il dit "valeur non définie". est-ce un problème? devrait-il être réglé à une specyfic valeur? si oui, quelle valeur devrait être là. Dans les nœuds enfants de HKEY_CLASSES_ROOT\TypeLib\{00062FFF-0000-0000-C000-000000000046} a avoir quelques emty valeurs. devraient-ils être ensemble?
Eh bien, ce qui explique pourquoi il ne fonctionne pas. Aucune idée de ce qui s'est passé, chase "n'est pas correctement installée de l'angle". Peut-être que votre base de registre est grillé, essayez sur une autre machine.
S'est avéré être la construction de plate-forme pour moi. Merci!
OriginalL'auteur Hans Passant
Si vous tentez d'accéder à Outlook à partir de Visual Studio et obtenez l'erreur:
TF400424: impossible d'envoyer à Microsoft Outlook: Impossible de convertir l'objet COM de type " Microsoft.Bureau de.Interop.Outlook.ApplicationClass' à l'interface de type " Microsoft.Bureau de.Interop.Outlook._Application'. Cette opération a échoué car l'appel de QueryInterface sur le composant COM pour l'interface avec IID '{00063001-0000-0000-C000-000000000046} a échoué en raison de l'erreur suivante: Bibliothèque non inscrite. (Exception de HRESULT: 0x8002801D (TYPE_E_LIBNOTREGISTERED)).
Procédez de la manière suivante:
Outlook 2007 ==> 9.3
Outlook 2010 ==> 9.4
Outlook 2013 ==> 9.5
Référence: https://support.netdocuments.com/hc/en-us/articles/205219170--Library-Not-Registered-error-when-using-EMS-in-Outlook
OriginalL'auteur zumalifeguard
Eu le même problème avec le code suivant:
Remplacer la première ligne par la suite résolu pour moi.
(exemple en VB, mais devrait en être de même pour C#)
OriginalL'auteur Striver