2009-09-22 12 views
8

Ich weiß, das ist keine Programmierfrage, aber es ist eine Programmierung Werkzeug Frage.Fehler HRESULT E_FAIL beim Einfügen von Referenzen in Visual Studio

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

Error HRESULT E_FAIL has been returned from a call to a COM component

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

Irgendwelche Ideen?

Antwort

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 um es alle TLBs und Objekte neu zu registrieren?

+0

Es ging nach ein bisschen weg. Vielleicht war es nur ein schlechter Tag ... – Joe

6

Dies ist die # 1-Hit, der für VS 2010 paste reference E_FAIL bei Google auftaucht und dergleichen, so dass ich dachte, dass ich diese Abhilfe teilen würde:

Sie Kopieren/Einfügen Referenzen über das Kontextmenü nicht in Projektmappen-Explorer verwenden.

Statt:

  1. über das Kontextmenü, das Projekt zu kopieren Referenzen zu entladen.
  2. Bearbeiten Sie die Projektdatei (.csproj; es ist nur XML).
  3. Suchen Sie die Referenz (en), an denen Sie interessiert sind, und kopieren Sie die <Reference> XML Node (s).
  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 die entsprechende Position ein. Sie müssen nach der -Knoten mit etwas wie <Reference Include="mscorlib" /> suchen, und fügen Sie Ihre Referenz direkt darüber.
  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.

Offenbar gibt es ein Problem mit Referenzen, die Umgebungsvariablen verwenden, wie beschrieben here (obwohl ich in meinem Fall ein Problem mit Verweisen hatte, die keine Umgebungsvariablen und in Visual Studio 2010 verwendet ...)

+0

Danke! Ich hatte dieses Problem bereits 2009! Ich bin seitdem fortgefahren und kann mich nicht mehr erinnern, was das Problem war. Ich kann das nicht bestätigen, vielleicht kann jemand anderes, der dieses Problem hat, Ihre Antwort versuchen. Habe trotzdem eine Abstimmung! – Joe

+0

In dieser Kopie Referenzen als ein zeitsparendes Gerät gemeint war, denke ich, es wäre immer noch schneller, nur die Referenzen hinzuzufügen, als das Projekt zu entladen und den Text zu kopieren.Ich denke, es hängt davon ab, wie viele Referenzen du kopieren musst. – johnc

Verwandte Themen