В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL
Здравствуйте!
Кто сталкивался с такими проблемами в работе с Visual Studio 2022, то помогите, пожалуйста.
При попытке открыть конструктор одной формы возникает ошибка "В результате вызова компонента COM возвращена ошибка в формате HRESULT E_FAIL".
При этом конструктор другой формы тут же загружается нормально
Если же из проекта удалить папки .vc, bin, obj все грузится нормально. Но так нужно делать после каждого запуска, поэтому утомляет.
Все варианты, доступные мне из интернета, проверил. Не помогает.
Хотя бы направление поиска: проблема в конструкторе формы?
Ну и до пары. Бывает приложение не запускается, если не убить процесс, созданный при предыдущем запуске. Но это не так сильно мешает.
Ошибка HRESULT E_FAIL
Смотрел я решение в интернете, но у всех эта ошибка возникает только при компиляции. А меня по.
Неопознанная ошибка (Исключение из HRESULT: 0x80004005 (E_FAIL)
Возникает данная ошибка при вызове функции из dll Прототип функции: int __cdecl Func(struct.
Error HRESULT E_FAIL has been returned from call to a COM component
Проблема следующая: создаю WebSite, кидаю пару контролов на страницу, компилю, мне предлагают.
Что будет вызвано в результате вызова f()?
Дан код со следующим определением класса A: struct A < void f()* метод 1*/> void.
Что будет выведено в результате вызова процедуры
Что будет выведено в результате вызова процедуры Procedure a(var v:char); var c:char; begin.
Пока ошибка исчезла (без видимых причин). Вот что посоветовали на форуме Microsoft
If you try following suggestions, will one of them works?
1. Repair VS.
2. Update VS to the latest version.
3. Try to change to English, just in case the issue is caused by different language package.
4. Try to remove VS cache(navigate to C:\Users\<username>\AppData\Local\Microsoft\VisualStudio\17.0_xxxxxxxx\Component ModelCache folder, backup and remove all "ComponentModelCache" folders), and test again.
5. In case it is a potential issue, please also submit a ticket on our Developer Community for further investigate.
Вдруг кому-то поможет
Сколько двоек выводится на экран в результате вызова функции
В этом году выпускники одиннадцатых классов будут сдавать ЕГЭ по информатике на компьютерах. Одна.
Расширенный отчет о результате вызова функции [Как сделать правильно]
Думаю, достаточно важный вопрос в плане проектирования. Уже столкнулся. Есть у меня допустим.
Определите, сколько звездочек будет напечатано в результате вызова функции F (5)
Определите, сколько звездочек будет напечатано в результате вызова функции F(5): И сама функция.
Сколько символов ’*’ выводится на экран в результате вызова функции или процедур
Рассмотрим функцию, приведенную ниже на трех языках программирования. Python def F( n ): .
Ошибка HRESULT E_FAIL была возвращена из вызова COM-компонента VS2012 при отладке
У меня проблема с отладкой проекта, перенесенного с Visual Studio 2010 на 2012 год. Каждый раз, когда я отправляюсь на отладку, я получаю сообщение об ошибке:
«Ошибка HRESULT E_FAIL была возвращена из вызова COM-компонента».
Компиляция и запуск приложения на локальном сервере IIS отлично работает — просто не удается отладить.
Другое изменение, кроме перехода на VS2012, теперь я использую Team Foundation Server для управления версиями и отслеживания проблем, но я не вижу, как это повлияет на него.
Я могу сузить его до следующего
- Файл проекта — он был перенесен из VS 2003 в качестве проекта веб-сайта и был измельчен и изменен в разных версиях
- Библиотека времени выполнения Crystal Report/некоторая другая библиотека
Любой, у кого есть идеи?
ОТВЕТЫ
Ответ 1
Я удалил файлы csproj.user, и это сработало для меня.
В некоторых других случаях, чтобы исправить эту ошибку, я перехожу на вкладку «Веб» в свойствах проекта и проверяю «Использовать Visual Studio Development Server» и «Автоматически назначать порт». После этого мне нужно перестроить проект и перезапустить VS
Ответ 2
В последнее время я получал это много, мне приходилось создавать новый файл и перемещать код в новый файл, чтобы обойти это.
Но я нашел быстрое, легкое и безболезненное решение.
В моем конкретном случае я удаляю файл решения suo (насколько я могу судить, просто хранит информацию, например, какие файлы открыты в IDE и т.д., Поэтому нет никакого реального ущерба для его удаления). Мой файл, казалось бы, был поврежден (IDE не помнит, какие файлы были открыты при перезапуске, его размер составлял 1,7 мг, что кажется большим даже для моего проекта с 40 проектами, в котором редко открываются более 50 файлов одновременно).
Подводя итог: удаление файла .suo, когда VS был закрыт, исправило проблему E_FAIL, которую я получал, открывая мой файл winforms в режиме конструктора.
Я только недавно должен был сделать это в VS2017, но по другой причине сборка заняла больше времени, и 5+ потребовалось несколько минут, чтобы остановить сеанс отладки, удалив этот надоедливый файл suo, исправив его прямо сейчас, и теперь всякий раз, когда VS действует странно, удаление SUO мой первый порт захода.
Ответ 3
У меня была такая же проблема с проектом c++ в Visual Studio 2019.
Следующее решение работало для меня:
- Закройте Visual Studio.
- Перейдите в корневую папку проекта и удалите каталог .vs.
- Запустите Visual Studio и откройте решение.
- Сборка теперь должна работать.
Ответ 4
Я хотел добавить, что столкнулся с этой ошибкой при открытии файла конструктора в приложении WinForms. Моя проблема заключалась в том, что одна из ссылок в проекте ссылалась сама на себя. Видимо, это может произойти, как упоминалось здесь
Я удалил ссылку, и она работает нормально.
Ответ 5
Извините, что оживил мертвый поток, но я решил это на VS2017, удалив кеш шаблона проекта и папки кэша шаблонов элементов в
Затем сбросьте настройки визуальной студии с помощью
Кроме того, вы можете отключить «Легкая загрузка решения для всех проектов».
Ответ 6
Сценарий второй: Среда разработки Microsoft Visual Studio 2010 сбой при создании или отладке проекта веб-приложения. Эта ошибка возникает из-за поврежденного кэша Visual Studio 2010. Чтобы решить проблему, просто удалите кэш проекта из нижерасположенного местоположения:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache
C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache
Затем запустите devenv.exe /setup , чтобы перестроить кеш.
Ответ 7
Doh! В случае, если кто-либо еще получит эту ошибку при попытке подключиться к веб-сайту IIS.
Тройка проверяет правильность вашего имени хоста, я забыл ‘/’ (например, http://my.testsite.com
Попробуйте это перед повторной установкой Visual Studio, как я сделал.. Ужасное сообщение об ошибке..
Ответ 8
Это решило мою проблему:
Пуск → Выполнить → regsvr32 %SystemRoot%\System32\msxml3.dll
Пуск → Выполнить → regsvr32 %SystemRoot%\SysWOW64\msxml3.dll
До этого я попробовал вышеупомянутое решение от Саймона, но не работал у меня!
Возможно, объединение этих двух решений выполнило свою работу!
Ответ 9
У меня была такая же проблема после обновления с VS2013 до VS2015.
Проект, над которым я работал, ссылался сам. Пока VS2013 все равно, VS2015 не понравилось, и я получил эту ошибку. После удаления ссылки ошибка исчезла. Мне потребовалось около 4 часов, чтобы узнать это.
Ответ 10
Я пробовал все вышеперечисленные решения, для меня не работает, я нашел решение здесь
Откройте ActivityLog.xml, перейдя в
Проверьте, не указывает ли ошибка, что
Затем запустите эту команду gacutil через приглашение VS Cmd (режим администратора):
Запустить gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll
Ответ 11
Я написал простую программу для открытия другой папки, нажимая на некоторые определенные кнопки. Я сделал свойства файла «content» и «copy if newer» для развертывания. Поэтому, если я установил exe файл в другое программное обеспечение, он фактически установит все свои ресурсы и отлично выполнит программу. Итак, это все о моей программе. При разработке этого иногда, если я запускаю программу для проверки, она обнаружила ошибку
«HRESULT E_FAIL был возвращен из вызова COM-компонента»
и я не смог открыть конструктор. Но почему-то я получил легкое решение для меня. Я не уверен, будет ли это работать для других или нет.
Скопировать всю папку приложения в другое место. щелкните там файл приложения. он не будет работать, поскольку это просто копия, и вы не увидите дизайнера
- Из проводника решений удалите form1.vb(или может быть другое имя, если оно было изменено во время разработки).
- В проводнике решений > щелкните правой кнопкой мыши > добавить существующий элемент > просмотрите файл Form1.vb, из которого скопирована папка (исходное местоположение)
- запустите программу в новом месте. Он будет работать
Проблема с этим решением, если вы хотите что-то добавить, и после запуска программы вы обнаружите ту же ошибку, вам придется скопировать всю папку приложения в другое место и выполнить следующие шаги.
Ответ 12
Ошибка произошла для меня после того, как я установил последний Windows 10 SDK. Я получал ошибку при создании проекта C++ с использованием SDK 8.1. В свойствах проекта я переключаюсь на последний 10 SDK. перестраивать. Это сработало. Вернулся на 8.1. Перестроить. Нет ошибки.
Ответ 13
Похоже, что для вызова диалогового окна «Добавить ссылку» в Visual Studio 2017 необходимо зарегистрировать Microsoft.VisualStudio.Shell.Interop.11.0.dll в GAC. Вы можете выполнить следующие шаги, чтобы зарегистрировать эту сборку в GAC:
Откройте командную строку Develop для VS2017 (убедитесь, что вы запускаете от имени администратора, в противном случае регистрация GAC может быть неудачной)
Измените текущий каталог на папку PublicAssemblies для вашей установки Visual Studio 2017. Мой был:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies
Выполните следующую команду, чтобы зарегистрировать сборку в GAC:
gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\PublicAssemblies> gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll Утилита Microsoft (R).NET Global Assembly Cache. Версия 4.0.30319.0 Авторские права (c) Корпорация Microsoft. Все права защищены.
Сборка успешно добавлена в кеш
Теперь перезапустите VS2017 и попробуйте снова добавить ссылку на ваш проект. Появится диалоговое окно «Добавить ссылку».
Для получения более подробной информации, пожалуйста, перейдите по ссылке ниже
Ответ 14
Шаги по устранению проблемы:
1.Откройте свое решение/веб-приложение в VS 2012 в режиме администратора.
2. Перейдите в IIS и запишите настройки вашего приложения (например, имя виртуального каталога, физический путь, параметр проверки подлинности и пул приложений).
3. Удалите (щелкните правой кнопкой мыши и выберите «Удалить» ) ваше приложение с веб-сайта по умолчанию. Обновить IIS.
4. Вернитесь к VS 2012 и откройте настройки (щелкните правой кнопкой мыши и выберите свойства) для своего веб-приложения.
5.Выберите раздел Web.In Servers, убедитесь, что вы выбрали «Использовать локальный веб-сервер IIS».
6. В текстовое поле Project Url введите путь к вашему приложению (http:// localhost /Path Application). Нажмите «Создать виртуальный каталог».
7. Перейдите в IIS и примените настройки, указанные на шаге 2. Обновите IIS.
8.Go до VS 2012 и установите этот проект как проект запуска с соответствующей страницей в качестве начальной страницы.
9. Нажмите кнопку запуска, чтобы запустить проект в режиме отладки.
Эта разрешенная проблема для меня для веб-приложения, которое было перенесено с VS 2010 на 2012 год. Надеюсь, это поможет любому, кто ищет конкретную проблему.
Моя конфигурация машины: IIS 7.5.7600.16385
VS 2012 Professional
Windows 7 Enterprise (версия 6.1 — сборка 7601: пакет обновления 1)
Ответ 15
Это происходит на нашем сервере сборки TFS несколько раз (Gated check in). Это папка рабочего пространства. Я не знаю, почему, но доступ к папке рабочей области иногда поврежден. То, что я делаю для устранения проблемы, — это удаление рабочих пространств сборки TFS и удаление соответствующих папок рабочей области. TFS, затем создайте новые рабочие пространства для себя и устраните проблему.
Решение Tousif Ahmed должно работать на локальные сборки. Скопировать папку приложения в другое место должно сделать то же самое, что я делаю в машине сборки TFS.
Ответ 16
В моем случае, похоже, это сообщение может быть выпущено Intellisense в Visual Studio 2013. Снимок экрана ниже показывает ошибку внизу VisualStudio 2013 после первой загрузки проекта клиента. 
Я начал googling, что вызывает эту ошибку, и решил попробовать удалить файлы user.vxproj, как указано выше. Однако я обнаружил, что проект построен без проблем, а затем после выхода и повторной загрузки проекта я больше не получил ошибку. Поэтому я предполагаю, что в моем случае это было некоторая коррупция из-за перемещения проекта из структуры дерева каталогов клиентов в мою локальную структуру древовидной структуры диска. Ключевым моментом здесь является то, что в моем случае проблема была временной. Я НЕ НИЧЕГО, и проблема, похоже, решилась сама. (Не всегда желательно, потому что я ничего не исправить, чтобы он мог вернуться).
Ответ 17
Недавно я потратил около 3 часов, пытаясь исправить эту проблему в моем приложении ASP.NET, работающем на локальном IIS. У меня был «Корректированный URL-адрес приложения», и я указал URL-адрес с завершающим косой чертой (/), например http://my.dev.com/ . Если бы я сохранил параметры проекта и вернулся в него, это отобразило бы переопределенный корневой URL как http://http://my.dev.com . Как только я удалил последнюю косую черту, он начал вести себя нормально, и ошибка исчезла.
Ответ 18
HRESULT E_FAIL был возвращен из вызова COM-компонента
В моем случае это было потому, что у меня были разные проекты с таким же GUID в моем решении. (Проект был создан путем копирования/вставки)
Ответ 19
Моя проблема проявилась в открытии файла appxmanifest Win10 (каламбур не предназначен). Просто установите инструменты Windows 10 и SDK (перейдите в New- > Project- > Select Windows- > Install Tools).
Ответ 20
- Добавить в разработку, начатую по архитектуре x86 или 64-битной системе, тогда она будет работать и на 32-битной системе.
- но если вы добавите в разработку, инициированную по 32-битной системе, а затем хотите внести изменения в исходный код в 64 бит Примечание. Если вы подключили лицензию SAP на серверную систему, установите порт и задайте имя сервера через диспетчер служб, иначе система выдаст ошибку:
Контекст подключения: — Получение класса COM factory для компонента с CLSID <632F4591-AA62-4219-8FB6-22BCF5F60090>не удалось из-за следующая ошибка: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
Ответ 21
Я исправил ту же проблему, удалив папку ComponentModelCache
- Закрыть Visual Studio (если вы не сделали этого уже из отчаяния)
- Откройте окно проводника файлов и перейдите в папку toyour AppData. Вы можете добраться туда:
- В строке поиска введите %APPDATA%/.. и нажмите enter
- Кроме того, перейдите к C:\Users\\AppData
Ответ 22
Не уверен в точках воспроизведения ошибки (HRESULT E_FAIL был возвращен из вызова COM-компоненту), но решение для меня было:
- Закройте Visual Studio и отредактируйте его с помощью панели управления.
- Система перезагрузки
После перезагрузки ошибка исчезла.
Ответ 23
Я столкнулся с такой же проблемой в Visual Studio 2017, выполните следующие действия:
Пуск → Выполнить → regsvr32% SystemRoot%\System32\msxml3.dll
Пуск → Выполнить → regsvr32% SystemRoot%\SysWOW64\msxml3.dll
Перезапустите визуальную студию.
Шаг 1 и 2 были скопированы из сообщения Бесника Кастрати.
Ответ 24
Я нахожу этот ответ, нажав Ctrl + Alt + J, нажмите (. ) вверху, теперь вы можете добавить dll из Browse,.Net или другого. После нажатия кнопки OK нажмите (добавить ссылки в выбранный проект в обозревателе решений) ( это зеленая кнопка плюс «+»)
Ответ 25
Я прошел через все различные шаги, как исправить эту проблему с VS2019 16.2.4, и проблема все еще остается. Я, безусловно, надеюсь, что MS исправит эту проблему, так как это происходит в течение длительного времени.
Прямо над добавлением в обозреватель объектов я не смог понять, как добавить диалоговое окно «Ссылка» в этой версии, так как не смог найти GAC для 2019 года.
Ответ 26
Просто удалите папку с пакетами. Это мне помогло
Ответ 27
Основная причина: Microsoft.VisualStudio.Shell.Interop.11.0.dll отсутствует в GAC.
Решение: 1. Перейдите в меню «Пуск» и откройте командную строку для Visual Studio 2. Введите команду gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll 3. Если ваша система не может найти этот dll файл, вы можете скачать его из диспетчера пакетов Nuget, а затем указать путь к dll
.Все готово! нажмите Enter и все готово!
Ответ 28
У меня возникла эта проблема, потому что я пытался открыть проекты SSIS и протестировать драйвер Attunity для Oracle из SSDT 2013 (TFS) в SSDT 2017. В новом проекте SSIS драйвер Attunity работал бы нормально, но в обновленном проекте SSIS он отображал ошибку, когда Я пытаюсь проверить соединение. Решение состоит в том, чтобы исправить старый проект.
Ответ 29
Я только что столкнулся с этой же проблемой. Оказалось, что URL проекта на листе веб-свойств был искажен.
Я только что удалил номер порта, забыл удалить предыдущее двоеточие и попытался запустить с: http://localhost: /XYZ
Похоже, что в результате этого сообщения появляется множество разных проблем.
Hresult e fail что за ошибка
This forum has migrated to Microsoft Q&A. Visit Microsoft Q&A to post new questions.

- ProfileText
- Sign in
Answered by:
Question
And back to the error with no meanings:
I’ve created a document, published it on an IIS, and opened it from the IIS, resolved the security problems, and now facing this error message:
Error HRESULT E_FAIL has been returned from a call to a COM component.
System.Runtime.InteropServices.COMException (0x80004005): Error HRESULT E_FAIL has been returned from a call to a COM component.
at Microsoft.Office.Core.CommandBarControls.Add(Object Type, Object Id, Object Parameter, Object Before, Object Temporary)
at CreditCommentsDoc.ThisDocument.ThisDocument_Startup(Object sender, EventArgs e)
at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.ExecutePhase(String methodName)
at Microsoft.VisualStudio.Tools.Applications.Runtime.AppDomainManagerInternal.ExecuteCustomization(IHostServiceProvider serviceProvider)
When the document runs from my machine, it runs just fine
According to the error message, there was a problem, adding a button to the toolbar, and that’s it, figure it out, you are on your own.
Thank you for the meaningful errors MS, if one day I am writing an application that will be used by Microsoft; I will defiantly make sure I’ll remember that 🙂
Ok, I am not that bad 🙂
Answers
I’m not sure quite what you’re doing here as I don’t have the code you are executing but it seems like you are trying to add a button to the CommandBarControls collection.
If you are doing this from inside a VSTO customization which runs when the document is opened from within IIS then there are any number of reasons this might fail.
VSTO was not designed with this scenario in mind. The core server scenario uses the ServerDocument object to open Word and Excel documents _without_ starting the application and allows the developer to manipulate cached data:
If you could explain further what you’re trying to achieve I may be able to suggest a way to do it.
All replies
I’m not sure quite what you’re doing here as I don’t have the code you are executing but it seems like you are trying to add a button to the CommandBarControls collection.
If you are doing this from inside a VSTO customization which runs when the document is opened from within IIS then there are any number of reasons this might fail.
VSTO was not designed with this scenario in mind. The core server scenario uses the ServerDocument object to open Word and Excel documents _without_ starting the application and allows the developer to manipulate cached data:
If you could explain further what you’re trying to achieve I may be able to suggest a way to do it.
I stopped the modifications over the code, I will try to go to the project later, but here is the idea.
In the server side, I am using the server document to manipulate the document, and after the modifications, this document must go to the client, and the client opens it.
For the client, it is a document coming from IIS, the only difference, this document has a DLL file attached to it.
All what this DLL does, is adding a new button next to the save button, and this button will save the data back to a web service.
So there are 2 projects, one on the server behind IIS, and one that will execute on the client in Word.
The only problem here is the client code cannot modify the Microsoft Word toolbar once the document is opened from IIS using a web browser.
This code can modify the toolbar when the document runs from the local machine.
The solution that I am building is no different from an InfoPath / SharePoint solution, but since the previous 2 are extremely limited and cannot work with large documents (in size), and large amount of documents, we are going to build a solution with Word and ASPX.
Although Word is very powerful when handling large documents, it seems Word has lots of limitations in other areas.
Anyway, thank you for the help, and I hope MS has more descriptive errors in the future, a bit more in the description = lots of saved time to the developer.
Any official response from MSFT? I too am working through this, and if solved will be of tremendous benefit!
I stopped trying actually to run a word document from IIS directly, the VSTO object module is over secured, to a level that makes it useless, and Microsoft Word is not designed to work from IIS.
I found a workaround with click once deployment (to produce reports).
1- Create a Windows application.
2- Reference the Word 11 or Word 12 .net libraries.
3- Use the libraries to show Word and hide your Windows form.
4- Use the click once deployment to publish everything to the IIS and run it from there.
This way you will bypass all the restrictions (the .net security) and all related errors.
Another thing, I am not using Word instead InfoPath, both are too slow, I am using a windows form instead, with the regular controls, and Microsoft Word inside the form (using the Windows API) for the rich text.
At this stage, Microsoft Word is wonderful for reporting, but premature for data entry, there are still tons of things missing.
Excel on the other hand is much advanced, but both need a bit more work from MS.
I appreciate your help very much! Advice from the trenches is most beneficial!
Now question time. In my situation, I have a web-based app that users will need to use to have the system populate documents with context-sensitive data (based on a context-sensitive template), then bring them up for possible editing, then printing. This saves a record of the document, and then at any time, the user can click a link in the app to bring that document up again. (for possible editing or printing) If I can’t use IIS as the container for this document, I was considering causing the linked document to come up in word instead. But, I agree that I will have much more control of a windows application (using windows forms). Do you know of a way that I can, in a web page, cause the execution of a windows executable that is installed on a users machine?
Error HRESULT E_FAIL has been returned from a call to a COM component VS2012 when debugging
I have a problem debugging a project migrated from Visual Studio 2010 to 2012. Every time I go to debug it I get the error message:
«Error HRESULT E_FAIL has been returned from a call to a COM component».
Compiling and running the application in a local IIS server works fine — just cannot debug.
The other change other than moving to VS2012 is I am now using Team Foundation Server for source control and issue tracking — but I cannot see how that would affect it.
I can narrow it down to the following
- The project file — it has been migrated from VS 2003 as a website project and has been chopped and changed up the different versions
- Crystal Report runtime library/ some other library
Anyone with any ideas?

32 Answers 32
I had the same problem with a c++ project in Visual Studio 2019.
The following solution worked for me:
- Close Visual Studio.
- Go to the project’s root folder and delete the .vs directory.
- Start Visual Studio and open the solution.
- The build should now work.
I have been getting this a lot lately. I’ve been having to create a new file and move the code to the new file to get around it.
I fixed it by deleting the solution’s suo file (as far as I can tell, it just stores info like what files are open in the IDE and stuff, and deleting it does no real damage).
My file was seemingly corrupt. (The IDE wouldn’t remember what files were open when restarting. It was 1.7MB in size, which seems large, even for my 40 project solution, which rarely has more than 50 files open at once.)
Edit: I just recently had to do this in VS2017 but for another reason, it was taking longer to build and took 5+ minutes to stop a debug session, deleting that pesky suo file fixed it right up, now anytime VS acts weird deleting SUO is my first port of call.
I removed the csproj.user files and it worked for me.
In some other cases, to fix this error, I go to Web tab in the project properties and check «Use Visual Studio Development Server» and «Auto-assign Port». After that I need to rebuild the project and restart VS

This solved my problem:
Start —> Run —> regsvr32 %SystemRoot%\System32\msxml3.dll
Start —> Run —> regsvr32 %SystemRoot%\SysWOW64\msxml3.dll
Before this I tried the above solution from Simon, but didn’t work for me!
Perhaps combining these two solutions did the job!
Sorry to revive a dead thread but i solved this on VS2017 by deleting the project template cache and item template cache folders in
Then resetting the visual studio settings via
Also ive heard turning off «Lightweight solution load for all projects» can help.

I wanted to add that I encountered this error when opening designer file in WinForms app. My issue was that one of the references in the project was referencing itself. Apparently this can happen as mentioned here
I removed the reference and it is working fine.
Doh! In case anyone else gets this error when trying to attach to an IIS Website.
Triple check that your hostname is correct, I had forgotten a ‘/’ in (e.g.) http://my.testsite.com
Try this before re-installing Visual Studio like I did.. Terrible error message..
Scenario Two: The Microsoft Visual Studio 2010 IDE crashes while creating OR debugging a web application project. This above error occurs because of corrupted Cache of Visual Studio 2010. In order to resolve the issue just delete the project Cache from the below location:
C:\Program Files\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache
C:\Program Files(x86)\Microsoft Visual Studio 10.0\Common7\IDE\ProjectTemplatesCache
Then run devenv.exe /setup to re-build the cache.

I tried all of the above solutions none work for me, I found the solution here
Open ActivityLog.xml by going into
Check if error states that
Then run this gacutil command through VS Cmd prompt (admin mode):
Run gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

Not sure about the exact reproduction steps for the error (HRESULT E_FAIL has been returned from a call to a COM component), but the solution for me was:
- Close Visual Studio and Repair it through Control Panel.
- Restart system
After the restart, the error was gone.

It seems that to bring up the Add Reference dialog in Visual Studio 2017 the Microsoft.VisualStudio.Shell.Interop.11.0.dll needs to be regsitered in the GAC. You can follow these steps to register this assembly in the GAC:
Open the Develop Command Prompt for VS2017 (ensure you run the as administrator otherwise the GAC registration may fail)
Change the current directory to the PublicAssemblies folder for your Visual Studio 2017 installation. Mine was:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE\PublicAssemblies
Run the following command to register the assembly in the GAC:
gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll
C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\PublicAssemblies>gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll Microsoft (R) .NET Global Assembly Cache Utility. Version 4.0.30319.0 Copyright (c) Microsoft Corporation. All rights reserved.
Assembly successfully added to the cache
Now restart VS2017 and try to add a reference to your project again and you should see the Add Reference dialog appear.