web-dev-qa-db-de.com

Fehler HRESULT E_FAIL wurde beim Debuggen von einem Aufruf an eine COM-Komponente VS2012 zurückgegeben

Ich habe ein Problem beim Debuggen eines von Visual Studio 2010 auf 2012 migrierten Projekts. Jedes Mal, wenn ich es debugge, erhalte ich die Fehlermeldung:

Msgstr "Fehler HRESULT E_FAIL wurde von einem Aufruf an eine COM - Komponente zurückgegeben.".

Das Kompilieren und Ausführen der Anwendung auf einem lokalen IIS -Server funktioniert einwandfrei - Debugging ist einfach nicht möglich.

Die andere Änderung neben dem Wechsel zu VS2012 besteht darin, dass ich jetzt Team Foundation Server für die Quellcodeverwaltung und die Problemverfolgung verwende. Ich kann jedoch nicht erkennen, wie sich dies auswirkt.

Ich kann es auf das Folgende eingrenzen

  • Die Projektdatei - sie wurde von VS 2003 als Website-Projekt migriert und wurde in den verschiedenen Versionen zerhackt und geändert
  • Crystal Report-Laufzeitbibliothek/andere Bibliothek

Jemand mit irgendwelchen Ideen?

36
Matt

Ich habe die csproj.user-Dateien entfernt und es hat für mich funktioniert.

Um diesen Fehler zu beheben, gehe ich in einigen anderen Fällen in den Projekteigenschaften auf die Registerkarte Web und überprüfe "Use Visual Studio Development Server" und "Port automatisch zuweisen". Danach muss ich das Projekt neu erstellen und VS neu starten

22
Alejandro Haro

Ich habe in letzter Zeit viel davon bekommen. Ich musste eine neue Datei erstellen und den Code in die neue Datei verschieben, um sie zu umgehen.

Aber ich fand eine schnelle, einfache und schmerzlose Lösung .

In meinem speziellen Fall lösche ich die suo-Datei der Lösung (soweit ich das beurteilen kann, speichert sie lediglich Informationen darüber, welche Dateien in der IDE geöffnet sind und so, dass es keinen echten Schaden gibt, um sie zu löschen). Meine Datei war anscheinend beschädigt (IDE konnte sich nicht erinnern, welche Dateien beim Neustart geöffnet waren. Sie war 1,7 Mega groß, was selbst für meine 40-Projektlösung groß erscheint, die selten mehr als 50 Dateien gleichzeitig geöffnet hat).

Zusammenfassend: Beim Löschen der .suo-Datei, während VS geschlossen wurde, wurde das E_FAIL-Problem behoben, das beim Öffnen der winforms-Datei im Designer-Modus angezeigt wurde.

Bearbeiten:

Ich habe das erst kürzlich in VS2017 tun müssen, aber aus einem anderen Grund dauerte es länger, eine Debug-Sitzung zu beenden, und es dauerte mehr als fünf Minuten, bis die Debug-Sitzung beendet wurde erste Anlaufstelle.

39
Tim Hall

Ich hatte das gleiche Problem mit einem C++ - Projekt in Visual Studio 2019.

Die folgende Lösung hat bei mir funktioniert:

  • Schließen Sie Visual Studio.
  • Wechseln Sie in den Stammordner des Projekts und löschen Sie das Verzeichnis .vs.
  • Starten Sie Visual Studio und öffnen Sie die Projektmappe.
  • Der Build sollte jetzt funktionieren.
25
datoml

Ich wollte hinzufügen, dass dieser Fehler beim Öffnen der Designer-Datei in der WinForms-App aufgetreten ist. Mein Problem war, dass sich eine der Referenzen im Projekt auf sich selbst bezieht. Anscheinend kann dies wie hier erwähnt passieren

https://social.msdn.Microsoft.com/Forums/office/de/00aede04-d8cd-4475-8114-4b4792261052/winforms-designer-error-hresult-efail-has-been-returned-von- a-call-to-a-com-Komponente

Ich habe die Referenz entfernt und sie funktioniert einwandfrei. 

5
Sugat

Vielleicht diese Seite hilft:

Szenario 2: Microsoft Visual Studio 2010 IDE stürzt beim Erstellen von OR zum Debuggen eines Webanwendungsprojekts ab. Dieser obige Fehler tritt aufgrund eines beschädigten Caches von Visual Studio 2010 auf. Um das Problem zu beheben, löschen Sie einfach den Projektcache vom folgenden Speicherort:

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

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

Führen Sie dann devenv.exe /setup aus, um den Cache neu zu erstellen.

4
Simon

Doh! Falls jemand anderes diese Fehlermeldung erhält, wenn Sie versuchen, eine Verbindung zu einer IIS - Website herzustellen.

Dreimal überprüfen, ob Ihr Hostname korrekt ist. Ich hatte ein "/" in (z. B.) http://my.testsite.com vergessen.

Probieren Sie dies aus, bevor Sie Visual Studio erneut installieren, wie ich es tat. Schreckliche Fehlermeldung ..

4
Markive

Tut mir leid, einen toten Thread wiederzubeleben, aber ich habe dies auf VS2017 gelöst, indem der Cache für Projektvorlagen-Cache und die Elementvorlagen-Cache in gelöscht wurden

%appdata*\Local\Microsoft\VisualStudio\[BUILD]

Zurücksetzen der Visual Studio-Einstellungen über

Tools>Import and export settings>reset all settings

Auch das Abschalten von "Lightweight Solution Load für alle Projekte" kann hilfreich sein.

4

Ich hatte das gleiche Problem nach einem Upgrade von VS2013 auf VS2015.

Das Projekt, an dem ich arbeitete, bezog sich auf sich. Während VS2013 das egal war, hat VS2015 das nicht gefallen und ich habe diesen Fehler bekommen. Nach dem Löschen der Referenz war der Fehler verschwunden. Ich habe ungefähr 4 Stunden gebraucht, um das herauszufinden ...

2
yiev

Das hat mein Problem gelöst:

Start -> Ausführen -> regsvr32 %SystemRoot%\System32\msxml3.dll

Start -> Ausführen -> regsvr32 %SystemRoot%\SysWOW64\msxml3.dll

Vorher habe ich die obige Lösung von Simon ausprobiert, aber für mich nicht funktioniert!

Vielleicht hat die Kombination dieser beiden Lösungen den Job gemacht!

2
Besnik Kastrati

Der Fehler trat bei mir auf, nachdem ich das neueste Windows 10 SDK installiert hatte. Ich habe den Fehler beim Erstellen eines C++ - Projekts mit SDK 8.1 erhalten. In den Projekteigenschaften wechsle ich zu den letzten 10 SDK. wieder aufbauen. Das hat funktioniert. Geändert zurück zu 8.1. Wiederaufbau. Kein Fehler.

1
Mike L

Ich habe ein einfaches Programm geschrieben, um verschiedene Ordner zu öffnen und auf bestimmte Schaltflächen zu klicken. Ich habe die Dateieigenschaften als "Inhalt" und "Kopieren, falls neuer" für die Bereitstellung erstellt. Wenn ich also die exe-Datei in der anderen Software installiert habe, werden alle seine Ressourcen installiert und das Programm in Ordnung ausgeführt .. Das ist alles über mein Programm. Beim Entwickeln dieses Problems wurde manchmal der Fehler angezeigt, wenn ich das Programm zur Überprüfung ausführe 

"HRESULT E_FAIL wurde von einem Aufruf an eine COM-Komponente zurückgegeben."  

und ich konnte die Designeransicht nicht öffnen. Aber irgendwie hatte ich eine einfache Lösung für mich. Ich bin nicht sicher, ob es für andere funktioniert oder nicht. 

Hier ist die Lösung:

Kopieren Sie den gesamten Anwendungsordner an einen anderen Speicherort. Klicken Sie von dort auf die Anwendungsdatei. Es funktioniert nicht, da es sich nur um eine Kopie handelt und der Designer nicht angezeigt wird

  1. Löschen Sie im Lösungs-Explorer die Datei form1.vb (oder kann ein anderer Name verwendet werden, wenn sie während der Entwicklung geändert wurde.)
  2. Im Lösungs-Explorer> Rechtsklick> Vorhandenes Element hinzufügen> Durchsuchen der Datei Form1.vb, aus der der Ordner kopiert wird (ursprünglicher Speicherort).
  3. führen Sie das Programm am neuen Speicherort aus. Es wird klappen

Das Problem mit dieser Lösung: Wenn Sie etwas hinzufügen möchten und nach dem Ausführen des Programms denselben Fehler finden, müssen Sie den gesamten Anwendungsordner erneut an einen anderen Speicherort kopieren und die obigen Schritte ausführen

1
Tousif Ahmed

HRESULT E_FAIL wurde von einem Aufruf an eine COM-Komponente zurückgegeben

In meinem Fall lag es daran, dass ich unterschiedliche Projekte mit derselben GUID in meiner Lösung hatte. (Projekt wurde durch Kopieren/Einfügen erstellt)

0
Alix

Vor kurzem habe ich etwa drei Stunden damit verbracht, dieses Problem in meiner auf lokalen IIS ausgeführten ASP.NET-App zu beheben. Ich hatte "Anwendungs-Root-URL überschreiben" angegeben und die URL mit einem abschließenden Schrägstrich (/) wie http://my.dev.com/ angegeben. Wenn ich die Projektoptionen gespeichert habe und wieder zurückkam, würde die überschriebene Root-URL als http://http://my.dev.com angezeigt. Nachdem ich den letzten Schrägstrich entfernt hatte, begann er sich ok zu verhalten und der Fehler verschwand.

0
Richard Edwards

In meinem Fall scheint es, dass diese Nachricht von Intellisense in Visual Studio 2013 ausgegeben werden kann. Der folgende Screenshot zeigt den Fehler am unteren Rand von VisualStudio 2013 nach dem ersten Laden eines Kundenprojekts .  VS2013 "ERROR-HRESULT-E Screenshot

Ich habe angefangen zu googeln, was diesen Fehler verursacht, und habe mich entschlossen, die user.vxproj-Dateien wie oben erwähnt zu löschen. Ich stellte jedoch fest, dass das Projekt ohne Probleme erstellt wurde. Nach dem Beenden und erneuten Laden des Projekts erhielt ich den Fehler nicht mehr. Ich gehe also davon aus, dass es in meinem Fall zu Beschädigungen kam, weil das Projekt aus der Verzeichnisstruktur des Kunden in meine lokale Entwicklungsstruktur verschoben wurde. Der Schlüssel hier ist, dass in meinem Fall das Problem vorübergehend war. Ich tat NICHTS und das Problem schien sich von selbst zu lösen. (Nicht generell eine wünschenswerte Sache, da ich nichts repariert habe, sodass es vielleicht zurückkommt).

0
Ross Youngblood

In Visual Studio 2017 stand ich vor demselben Problem Führen Sie die folgenden Schritte aus:

  1. Starten Sie -> Ausführen -> regsvr32% SystemRoot%\System32\msxml3.dll

  2. Starten Sie -> Ausführen -> regsvr32% SystemRoot%\SysWOW64\msxml3.dll

  3. Reinigen Sie das Projekt.

  4. Starten Sie das visuelle Studio neu.

    Schritt 1 und 2 wurden von Besnik Kastratis Post kopiert.

0
Salman Saleh

Ich bin nicht sicher über die genauen Schritte für die Reproduktion des Fehlers (HRESULT E_FAIL wurde von einem Aufruf einer COM-Komponente zurückgegeben). 

  1. Schließen Sie Visual Studio und reparieren Sie es über die Systemsteuerung. 
  2. System neu starten 

Nach dem Neustart war der Fehler verschwunden.

0
Meghan N.

Ich hatte dieses Problem, weil ich versuchte, die SSIS-Projekte zu öffnen und Attunity Driver für Oracle von SSDT 2013 (TFS) in SSDT 2017 zu testen. In einem neuen SSIS-Projekt würde der Attunity-Treiber funktionieren, aber in einem aktualisierten SSIS-Projekt würde der Fehler angezeigt Ich versuche die Verbindung zu testen. Die Lösung besteht darin, das alte Projekt zu reparieren. 

0
Tahir
  1. Add-on-Entwicklung, die auf x86-Architektur oder auf einem 64-Bit-System initiiert wurde, läuft dann auch auf einem 32-Bit-System.
  2. wenn Sie jedoch Add-on-Entwicklung auf einem 32-Bit-System initiiert haben und dann Änderungen am Quellcode in 64-Bit .__ vornehmen möchten. Hinweis: Wenn Sie auf dem Serversystem mit SAP License verbunden sind, legen Sie den Port und den Servernamen über den Service Manager fest Das System gibt einen Fehler aus:

Verbindungskontext: - Abrufen der COM-Klassenfactory für die Komponente mit CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} ist aufgrund von .__ fehlgeschlagen. Folgender Fehler: 80040154 Klasse nicht registriert (Ausnahme von HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

0

Schritte zum Beheben des Problems:

1.Öffnen Sie Ihre Lösung/Webanwendung in VS 2012 im Administratormodus.

2.Gehen Sie zu IIS und notieren Sie sich die Einstellungen für Ihre Anwendung (z. B. Name des virtuellen Verzeichnisses, physischer Pfad, Authentifizierungseinstellung und verwendeter App-Pool).

3.Entfernen Sie Ihre Anwendung von der Standard-Website (klicken Sie mit der rechten Maustaste und wählen Sie Entfernen). Aktualisieren Sie IIS.

4.Gehen Sie zu VS 2012 zurück und öffnen Sie die Einstellungen (Rechtsklick und Eigenschaften auswählen) für Ihre Webanwendung.

5.Wählen Sie den Abschnitt Web.In Servers, und stellen Sie sicher, dass Sie "Use Local IIS Web Server" ausgewählt haben.

6.Geben Sie in das Textfeld "Projekt-URL" Ihren Anwendungspfad ein (http: // localhost/Anwendungspfad). Klicken Sie auf Create Virtual Directory.

7.Gehen Sie zu IIS und übernehmen Sie die in Schritt 2 angegebenen Einstellungen. Aktualisieren Sie IIS.

8.Gehen Sie zu VS 2012 und legen Sie dieses Projekt als Startprojekt mit der entsprechenden Seite als Startseite fest.

9. Klicken Sie auf die Schaltfläche Ausführen, um das Projekt im Debug-Modus zu starten.

Dieses Problem wurde für mich für eine Webanwendung behoben, die von VS 2010 auf 2012 migriert wurde. Dies hilft jedem, der ein bestimmtes Problem sucht.

Meine Computerkonfiguration lautet: IIS 7.5.7600.16385

VS 2012 Professional

Windows 7 Enterprise (Version 6.1 - Build 7601: Service Pack 1) 

0
Bhushan

Mein Problem trat beim Öffnen der Win10-Appxmanifest-Datei auf (kein Wortspiel beabsichtigt). Durch die Installation der Windows 10-Tools und des SDK (unter New-> Project-> Select Windows-> Install Tools) wurde das Problem behoben.

0

Ich finde diese Antwort. Klicken Sie oben auf Strg + Alt + J. Klicken Sie auf (...). Jetzt können Sie DLLs aus Durchsuchen, .Net oder einem anderen hinzufügen. Dies ist ein grünes Pluszeichen (+)

0
Behnam Gorbani

Ich habe alle oben genannten lösungen ausprobiert keine funktion für mich, ich fand die lösung hier

  • Öffnen Sie ActivityLog.xml, indem Sie in gehen

    C:\Users\{UserName}\AppData\Roaming\Microsoft\VisualStudio\15.{Id} 
    
  • Prüfen Sie, ob der Fehler dies anzeigt 

    "CreateInstance failed for package 
    [ReferenceManagerPackage]Source: 'mscorlib' Description: Could not load type 
     'Microsoft.VisualStudio.Shell.Interop.' from Assembly 
     'Microsoft.VisualStudio.Shell.Interop.11.0' 
    
  • Führen Sie dann den Befehl gacutil über die VS-Cmd-Eingabeaufforderung aus (Verwaltungsmodus):

    1. Navigiere zu

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

0
dawncode

Ich habe das gleiche Problem behoben, indem ich den ComponentModelCache-Ordner gelöscht habe

  1. Schließen Sie Visual Studio (falls Sie dies nicht schon aus Verzweiflung getan haben)
  2. Öffnen Sie ein Datei-Explorer-Fenster und navigieren Sie in Ihrem AppData-Ordner. Sie können dorthin gelangen, indem Sie:
    1. Geben Sie in die Suchleiste %APPDATA%/.. ein und drücken Sie die Eingabetaste
    2. Alternativ zu C:\Users\\AppData navigieren
  3. Gehen Sie zu Local\Microsoft\VisualStudio\<version>, wobei für Visual Studio 2013 12.0 lautet.
  4. Löschen Sie den ComponentModelCache-Ordner.

Von hier: http://withmartin.net/how-visual-studios-component-model-cache-can-be-a-pain/

0
user2592899

Dies geschieht in unserem TFS-Build-Server einige Male (Gated-Check-In). Es handelt sich um einen Arbeitsbereichsordner. Ich weiß nicht warum, aber der Zugriff auf Arbeitsbereichsordner ist manchmal beschädigt. Um das Problem zu beheben, lösche ich TFS-Build-Arbeitsbereiche und relevante Arbeitsbereichsordner. Die TFS-Build-Maschine erstellt dann neue Arbeitsbereiche für sich und das Problem ist behoben.

Tousif Ahmeds Lösung sollte für lokale Builds funktionieren. Das Anwendungsverzeichnis an einen anderen Ort kopieren, sollte dasselbe tun, was ich in der TFS-Build-Maschine mache.

0
Levent Sezer