2010-07-28 3 views
0

J'ai changé mon Visual Studio 2010 pour utiliser mon IIS7 local au lieu de Cassini pour mon service WCF. Lorsque je teste en mode débogage dans Cassini, je n'ai aucun problème pour instancier Redemption.dll. Lorsque je passe Visual Studio sur les propriétés du projet pour utiliser le répertoire virtuel IIS7, je commence le débogage et le passage de mon code et j'essaie enfin d'instancier à nouveau Redemption.dll et j'obtiens cette erreur ...IIS7 ne peut pas trouver l'objet COM comme enregistré Cassini peut ce que je manque?

Récupérer l'usine de la classe COM pour le composant avec CLSID {741BEEFD-AEC0-4AFF-84AF-4F61D15F5526} a échoué en raison de l'erreur suivante: 80040154 Classe non enregistrée (Exception de HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

J'ai trouvé le chemin auquel j'accède en faisant une référence dans VS2010. J'ai ensuite veillé à ce qu'il soit enregistré en se désenregistrant et en se réenregistrant à nouveau. Ensuite, je l'ai testé dans Cassini, sans problème, je suis retourné à Visual Studio en IIS7 et j'ai eu la même erreur. Donc, je suis sûr que c'est enregistré.

J'ai exécuté AppPool comme valeur par défaut de AppPoolIdentity, MyOwnAdminAccount, LocalSystem et, enfin, NetworkService. Aucun de ces changements fait voir l'objet COM Redemption.dll visiblement enregistré lors du débogage sous IIS7.

s'il vous plaît aider

Répondre

1

Assurez-vous que votre code fonctionne comme 32 bits - puisque les charges de rachat MAPI en proc, est bitness doit correspondre à celle du système MAPI. Et puisque Redemption est une bibliothèque COM in-proc, l'application hôte doit également être 32 bits. La version 64 bits de Redemption est en version bêta, mais Outlook 2010 64 bits est le seul moyen d'obtenir la version 64 bits de MAPI.

+0

J'ai ajouté Redemption aux services COM +. Cela semblait résoudre le problème de trouver l'objet COM enregistré. Que cela se rapporte ou non à la résolution de la 32bit vs 64bit est un mystère pour moi. Je pense que ça pourrait. En tout cas après avoir placé Redemption.dll dans COM + mon émis a été résolu. – apolfj

Questions connexes