I know this isn't a programming question but it is a programming tool question.
In Visual Studio 2008 Team Edition (version 9.0 with .NET 3.5 SP1) when I copy and paste references from one csproj to another (with the context menu in the 'Solution Explorer' view) I get the following error:
Error HRESULT E_FAIL has been returned from a call to a COM component
This has only just started happening on my machine. I can only find this article about it, and it contains no solution.
Any ideas?
Yikes , E_FAIL is the most generic COM error , since it literally means a COM function returned fail. I would guess that somehow , visual studio 2008 has a corrupted COM object somewhere.
Have you tried reinstalling visual studio 2008 just to get it to re-register all its tlb's and objects ?
This is the #1 hit that shows up on Google for VS 2010 paste reference E_FAIL
and the like, so I thought I would share this workaround:
Don't use copy/paste references via the context menu in Solution Explorer.
Instead:
- Use the context menu to unload the project to copy references from.
- Edit the project file (.csproj; it's just XML).
- Find the
reference(s) you are interested in and copy the
<Reference>
XML node(s). - Unload the project to copy the reference into.
- Edit the project file (.csproj)
- Paste the reference copied in the previous step into appropriate location. You need to look for
the
<ItemGroup>
node containing something like<Reference Include="mscorlib" />
, and paste your reference just above it. - Close both .csproj files, saving the just-modified target one as well.
- Reload both projects via Solution Explorer context-menu.
Your reference is now copied into the target project.
Apparently, at the very minimum, there is a problem with references that use environment variables, as described here (although in my case, I was having a problem with references that did not use environment variables, and in Visual Studio 2010...)
来源:https://stackoverflow.com/questions/1459111/error-hresult-e-fail-when-pasting-references-in-visual-studio