Подтвердить что ты не робот

Ошибка HRESULT E_FAIL была возвращена из вызова COM-компонента VS2012 при отладке

У меня проблема с отладкой проекта, перенесенного с Visual Studio 2010 на 2012 год. Каждый раз, когда я отправляюсь на отладку, я получаю сообщение об ошибке:

"Ошибка HRESULT E_FAIL была возвращена из вызова COM-компонента".

Компиляция и запуск приложения на локальном сервере IIS отлично работает - просто не удается отладить.

Другое изменение, кроме перехода на VS2012, теперь я использую Team Foundation Server для управления версиями и отслеживания проблем, но я не вижу, как это повлияет на него.

Я могу сузить его до следующего

  • Файл проекта - он был перенесен из VS 2003 в качестве проекта веб-сайта и был измельчен и изменен в разных версиях
  • Библиотека времени выполнения Crystal Report/некоторая другая библиотека

Любой, у кого есть идеи?

4b9b3361

Ответ 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. Моя проблема заключалась в том, что одна из ссылок в проекте ссылалась сама на себя. Видимо, это может произойти, как упоминалось здесь

https://social.msdn.microsoft.com/Forums/office/en-US/00aede04-d8cd-4475-8114-4b4792261052/winforms-designer-error-hresult-efail-has-been-returned-from-a- призыв к-а-ком-компонента

Я удалил ссылку, и она работает нормально.

Ответ 5

Извините, что оживил мертвый поток, но я решил это на VS2017, удалив кеш шаблона проекта и папки кэша шаблонов элементов в

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

Затем сбросьте настройки визуальной студии с помощью

Tools>Import and export settings>reset all settings

Кроме того, вы можете отключить "Легкая загрузка решения для всех проектов".

Ответ 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, перейдя в

    C:\Users\{UserName}\AppData\Roaming\Microsoft\VisualStudio\15.{Id} 
    
  • Проверьте, не указывает ли ошибка, что

    "CreateInstance failed for package 
    [ReferenceManagerPackage]Source: 'mscorlib' Description: Could not load type 
     'Microsoft.VisualStudio.Shell.Interop.' from assembly 
     'Microsoft.VisualStudio.Shell.Interop.11.0' 
    
  • Затем запустите эту команду gacutil через приглашение VS Cmd (режим администратора):

    1. Перейдите к

      C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies   
      
    2. Запустить 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 и попробуйте снова добавить ссылку на ваш проект. Появится диалоговое окно "Добавить ссылку".

Для получения более подробной информации, пожалуйста, перейдите по ссылке ниже

https://camerondwyer.com/2017/05/03/how-to-fix-the-operation-could-not-be-completed-error-adding-reference-to-visual-studio-2017/#more-2286

Ответ 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 после первой загрузки проекта клиента. VS2013

Я начал 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
  • Перейдите в Local\Microsoft\VisualStudio\<version>, где 12.0 для Visual Studio 2013.
  • Удалить папку ComponentModelCache.

Отсюда: http://withmartin.net/how-visual-studios-component-model-cache-can-be-a-pain/

Ответ 22

Не уверен в точках воспроизведения ошибки (HRESULT E_FAIL был возвращен из вызова COM-компоненту), но решение для меня было:

  • Закройте Visual Studio и отредактируйте его с помощью панели управления.
  • Система перезагрузки

После перезагрузки ошибка исчезла.

Ответ 23

Я столкнулся с такой же проблемой в Visual Studio 2017, выполните следующие действия:

  1. Пуск → Выполнить → regsvr32% SystemRoot%\System32\msxml3.dll

  2. Пуск → Выполнить → regsvr32% SystemRoot%\SysWOW64\msxml3.dll

  3. Очистите проект.

  4. Перезапустите визуальную студию.

    Шаг 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

Похоже, что в результате этого сообщения появляется множество разных проблем.