Fehler HRESULT E_FAIL beim Einfügen von Verweisen in Visual Studio

8

Ich weiß, das ist keine Programmierfrage, aber es ist eine Programmierung Werkzeug Frage.

In Visual Studio 2008 Team Edition (Version 9.0 mit .NET 3.5 SP1) beim Kopieren und Einfügen von Referenzen von einem csproj in einen anderen (mit dem Kontextmenü in der Ansicht 'Projektmappen-Explorer') erhalte ich den folgenden Fehler:

  

Fehler HRESULT E_FAIL wurde von einem Aufruf an eine COM-Komponente

zurückgegeben

Das ist gerade erst auf meinem Rechner passiert. Ich kann nur diesen Artikel darüber finden, und es enthält keine Lösung.

Irgendwelche Ideen?

    
Joe 22.09.2009, 09:43
quelle

2 Antworten

5

Huch, E_FAIL ist der allgemeinste COM-Fehler, da es bedeutet, dass eine zurückgegebene COM-Funktion fehlschlägt. Ich würde vermuten, dass Visual Studio 2008 irgendwo ein beschädigtes COM-Objekt hat.

Haben Sie versucht, Visual Studio 2008 neu zu installieren, nur damit es alle seine TLBs und Objekte erneut registriert?

    
Andrew Keith 29.09.2009, 07:35
quelle
6

Dies ist der # 1-Hit, der bei Google für VS 2010 paste reference E_FAIL und Ähnliches auftaucht. Daher dachte ich, ich würde diese Problemumgehung teilen:

Verwenden Sie keine Referenzen zum Kopieren / Einfügen über das Kontextmenü im Projektmappen-Explorer.

Stattdessen:

  1. Über das Kontextmenü können Sie das Projekt zum Kopieren von Referenzen aus dem Kontextmenü entfernen.
  2. Bearbeiten Sie die Projektdatei (.csproj; es ist nur XML).
  3. Finde die Referenz (en), an denen Sie interessiert sind, und kopieren Sie das <Reference> XML Knoten.
  4. Entladen Sie das Projekt, in das die Referenz kopiert werden soll.
  5. Bearbeiten Sie die Projektdatei (.csproj)
  6. Fügen Sie den im vorherigen Schritt kopierten Verweis in den entsprechenden Speicherort ein. Sie müssen suchen     Der <ItemGroup> -Knoten enthält etwas wie <Reference Include="mscorlib" /> und fügt den Verweis direkt darüber ein.
  7. Schließen Sie beide .csproj-Dateien, und speichern Sie das gerade geänderte Ziel ebenfalls.
  8. Laden Sie beide Projekte über das Kontextmenü des Projektmappen-Explorers neu.

Ihre Referenz wird jetzt in das Zielprojekt kopiert.

Anscheinend gibt es zumindest ein Problem mit Verweisen, die Umgebungsvariablen verwenden, wie in hier (obwohl ich in meinem Fall ein Problem mit Referenzen hatte, die keine Umgebungsvariablen verwendeten, und in Visual Studio 2010 ...)

    
Optimax 20.06.2012 18:52
quelle