122 votes

L'erreur HRESULT E_FAIL a été renvoyée par un appel à un composant COM. VS2012 lors du débogage.

J'ai un problème de débogage d'un projet migré de Visual Studio 2010 à 2012. Chaque fois que je veux le déboguer, je reçois le message d'erreur :

"L'erreur HRESULT E_FAIL a été renvoyée par un appel à un composant COM".

La compilation et l'exécution de l'application dans un serveur IIS local fonctionnent bien - mais je ne peux pas déboguer.

L'autre changement, à part le passage à VS2012, est que j'utilise désormais Team Foundation Server pour le contrôle des sources et le suivi des problèmes, mais je ne vois pas en quoi cela pourrait avoir une incidence.

Je peux réduire la liste à ce qui suit

  • Le fichier du projet - il a été transféré de VS 2003 en tant que projet de site web et a été découpé et modifié dans les différentes versions.
  • Bibliothèque d'exécution Crystal Report/une autre bibliothèque

Quelqu'un a une idée ?

0voto

twehad Points 286

J'ai récemment passé environ 3 heures à essayer de résoudre ce problème sur mon application ASP.NET fonctionnant sur un IIS local. J'avais spécifié "Override application Root URL" (remplacer l'URL racine de l'application) et j'ai spécifié l'URL avec une barre oblique (/) comme suit http://my.dev.com/ . Si j'ai sauvegardé les options du projet et que j'y suis revenu, l'url de la racine remplacée apparaît comme suit http://http://my.dev.com . Une fois que j'ai supprimé la dernière barre oblique, tout s'est bien passé et l'erreur a disparu.

0voto

Alix Points 360

HRESULT E_FAIL a été renvoyé par un appel à un composant COM.

Dans mon cas, c'est parce que j'avais différents projets avec le même GUID dans ma solution. (Le projet a été créé par copier/coller)

0voto

Bruno Samardžić Points 379

Mon problème s'est manifesté lors de l'ouverture du fichier appxmanifest de Win10 (sans mauvais jeu de mots). En installant simplement les outils et le SDK de Windows 10 (allez dans Nouveau->Projet->Sélectionner Windows->Installer les outils), le problème a été résolu.

0voto

  1. Si le développement est lancé sur une architecture x86 ou un système 64 bits, il fonctionnera également sur un système 32 bits.
  2. mais si vous ajoutez sur le développement initié sur le système 32 bit et puis vous voulez faire des changements sur le code source dans 64 bit Remarque : si vous êtes connecté à la licence SAP sur un système serveur, définissez le port et le nom du serveur via le gestionnaire de services, sinon le système émettra une erreur :

Contexte de connexion : - La récupération de la fabrique de classes COM pour le composant avec CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} a échoué à cause de l'erreur suivante l'erreur suivante : 80040154 Class not registered (Exception from HRESULT : 0x80040154 (REGDB_E_CLASSNOTREG)).

0voto

user2592899 Points 1

J'ai résolu le même problème en supprimant le dossier ComponentModelCache

  1. Fermez Visual Studio (si vous ne l'avez pas déjà fait par désespoir).
  2. Ouvrez une fenêtre d'exploration de fichiers et naviguez dans votre dossier AppData. Vous pouvez y accéder par :
    1. Dans la barre de recherche, tapez %APPDATA%/.. et appuyez sur la touche Entrée
    2. Vous pouvez également naviguer vers C:\Users\\AppData
  3. Allez dans Local\Microsoft\VisualStudio\<version> où est 12.0 pour Visual Studio 2013.
  4. Supprimez le dossier ComponentModelCache.

D'ici : http://withmartin.net/how-visual-studios-component-model-cache-can-be-a-pain/

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X