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 ?

5voto

Sugat Points 132

Je voulais ajouter que j'ai rencontré cette erreur en ouvrant le fichier du concepteur dans l'application WinForms. Le problème était que l'une des références du projet se référençait elle-même. Apparemment, cela peut se produire comme indiqué ici

https://social.msdn.microsoft.com/Forums/office/en-US/00aede04-d8cd-4475-8114-4b4792261052/winforms-designer-error-hresult-efail-has-been-returned-from-a-call-to-a-com-component

J'ai supprimé la référence et cela fonctionne bien.

4voto

Simon Points 908

Peut-être cette page aide :

Scénario 2 : L'EDI Microsoft Visual Studio 2010 se bloque pendant la création ou le débogage d'un projet d'application Web. Cette erreur se produit en raison d'un cache corrompu de Visual Studio 2010. Afin de résoudre le problème, il suffit de supprimer le cache du projet à partir de l'emplacement ci-dessous :

C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache

Ensuite, exécutez devenv.exe /setup pour reconstruire le cache.

4voto

Markive Points 925

Doh ! Au cas où quelqu'un d'autre obtiendrait cette erreur en essayant d'attacher à un site web IIS.

Vérifiez une nouvelle fois que votre nom d'hôte est correct, j'avais oublié un '/' dans (e.g.) http://my.testsite.com

Essayez ceci avant de réinstaller Visual Studio comme je l'ai fait Terrible message d'erreur

4voto

dawncode Points 343

J'ai essayé toutes les solutions ci-dessus, aucune ne fonctionne pour moi, j'ai trouvé la solution aquí

  • Ouvrez ActivityLog.xml en allant dans

    C:\Users\{UserName}\AppData\Roaming\Microsoft\VisualStudio\15.{Id} 
  • Vérifiez si l'erreur indique que

    "CreateInstance failed for package 
    [ReferenceManagerPackage]Source: 'mscorlib' Description: Could not load type 
     'Microsoft.VisualStudio.Shell.Interop.' from assembly 
     'Microsoft.VisualStudio.Shell.Interop.11.0' 
  • Ensuite, exécutez ceci gacutil par l'intermédiaire de l'invite VS Cmd (mode administrateur) :

    1. Naviguez vers

      C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies   
    2. Exécuter gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

3voto

Sharad Tiwari Points 31

Il semble que pour faire apparaître la boîte de dialogue Ajouter une référence dans Visual Studio 2017, la dll Microsoft.VisualStudio.Shell.Interop.11.0.dll doit être enregistrée dans le GAC. Vous pouvez suivre ces étapes pour enregistrer cet assemblage dans le GAC :

Ouvrez l'invite de commande de développement pour VS2017 (assurez-vous de l'exécuter en tant qu'administrateur, sinon l'enregistrement du GAC risque d'échouer).

Changez le répertoire actuel pour le dossier PublicAssemblies de votre installation Visual Studio 2017. Le mien était :

C:\Program Fichiers (x86) \Microsoft Visual Studio \2017\Enterprise\Common7\IDE\PublicAssemblies

Exécutez la commande suivante pour enregistrer l'assemblage dans le GAC :

gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

C:\Program Fichiers (x86) \Microsoft Visual Studio \2017\Community\Common7\IDE\PublicAssemblies >gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll Utilitaire de mise en cache globale des assemblages Microsoft (R) .NET. Version 4.0.30319.0 Copyright (c) Microsoft Corporation. Tous droits réservés.

Assemblée ajoutée avec succès au cache

Redémarrez maintenant VS2017 et essayez à nouveau d'ajouter une référence à votre projet. Vous devriez voir apparaître la boîte de dialogue Ajouter une référence.

Pour plus de précisions, veuillez suivre le lien ci-dessous

https://camerondwyer.com/2017/05/03/how-to-fix-the-operation-could-not-be-completed-error-adding-reference-to-visual-studio-2017/#more-2286

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