it-swarm.com.ru

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

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

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

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

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

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

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

У кого-нибудь есть идеи?

36
Matt

Я удалил файлы csproj.user, и он работал для меня.

В некоторых других случаях, чтобы исправить эту ошибку, я захожу на вкладку «Веб» в свойствах проекта и проверяю «Использовать Visual Studio Development Server» и «Порт автоматического назначения». После этого мне нужно пересобрать проект и перезапустить VS

22
Alejandro Haro

В последнее время я получал это много, мне приходилось создавать новый файл и перемещать код в новый файл, чтобы обойти это.

Но я нашел быстро, легко и безболезненно исправить .

В моем конкретном случае я удаляю suo-файл решения (насколько я могу судить, просто хранит информацию, например, какие файлы открыты в IDE и так далее, чтобы не повредить его). Мой файл, казалось бы, был поврежден (IDE не помнит, какие файлы были открыты при перезапуске, его размер составлял 1,7 мг, что кажется большим даже для моего проекта с 40 проектами, в котором редко открываются более 50 файлов одновременно).

Подводя итог: Удаление файла .suo, когда VS был закрыт, исправил проблему E_FAIL, которую я получал, открывая мой файл winforms в режиме конструктора.

Правка:

Я только недавно должен был сделать это в VS2017, но по другой причине сборка заняла больше времени и заняла 5+ минут, чтобы остановить сеанс отладки, удалив этот надоедливый файл suo, исправив его прямо сейчас, и теперь всякий раз, когда VS действует странно, удаление SUO - это мое Первый порт захода.

39
Tim Hall

Я хотел добавить, что столкнулся с этой ошибкой при открытии файла конструктора в приложении 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-call-to-a-com

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

5
Sugat

Может быть эта страница помогает:

Сценарий второй: Microsoft Visual Studio 2010 IDE аварийно завершает работу при создании OR отладки проекта веб-приложения. Эта ошибка возникает из-за поврежденного кэша 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, чтобы восстановить кеш.

4
Simon

Doh! В случае, если кто-либо еще получит эту ошибку при попытке присоединиться к веб-сайту IIS.

Тройная проверка, что ваше имя хоста правильное, я забыл '/' в (например) http://my.testsite.com

Попробуйте это перед переустановкой Visual Studio, как я сделал .. Страшное сообщение об ошибке ..

4
Markive

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

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

Затем сбросьте настройки Visual Studio через

Tools>Import and export settings>reset all settings

Также я слышал, что отключение «облегченной загрузки решения для всех проектов» может помочь.

4
Ricky Divjakovski

У меня была такая же проблема после обновления с VS2013 до VS2015.

Проект, над которым я работал, ссылался сам на себя. В то время как VS2013 это не волновало, VS2015 это не понравилось, и я получил эту ошибку. После удаления ссылки ошибка исчезла. Мне понадобилось около 4 часов, чтобы выяснить это ...

2
yiev

Это решило мою проблему:

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

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

До этого я попробовал вышеуказанное решение от Саймона, но у меня не получилось!

Возможно, объединение этих двух решений сделало свою работу!

2
Besnik Kastrati

Я написал простую программу для открытия другой папки, нажимая на определенные кнопки. Я сделал свойства файла как «содержимое» и «скопировать, если новее», чтобы сделать развертывание. Так что, если я установил exe-файл в другом программном обеспечении, он фактически установит все свои ресурсы и нормально запустит программу…. Итак, это все о моей программе. При разработке этого иногда, если я запускаю программу для проверки, она показала ошибку 

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

и я не смог открыть дизайнерское представление. Но почему-то я получил простое решение для меня. Я не уверен, будет ли это работать для других или нет. 

Вот решение:

Скопируйте всю папку приложения в другое место. нажмите на файл приложения оттуда. он не будет работать, так как это всего лишь копия, и вы не увидите дизайнера

  1. Из обозревателя решений удалите form1.vb (или может быть другим именем, если оно было изменено во время разработки)
  2. В обозревателе решений> щелкните правой кнопкой мыши> добавьте существующий элемент> найдите файл Form1.vb, из которого скопирована папка (оригинальное местоположение)
  3. запустите программу на новом месте. Это будет работать

Проблема с этим решением: если вы хотите что-то добавить, и после запуска программы вы обнаружите ту же ошибку, вам придется снова скопировать всю папку приложения в другое место и выполнить описанные выше шаги.

1
Tousif Ahmed

HRESULT E_FAIL был возвращен после вызова компонента COM

В моем случае это было потому, что в моем решении были разные проекты с одинаковым GUID. (Проект создан путем копирования/вставки)

0
Alix

Недавно я потратил около 3 часов, пытаясь решить эту проблему в моем приложении ASP.NET, работающем на локальном IIS. У меня было указано «Переопределить корневой URL-адрес приложения», и я указал URL с завершающей косой чертой (/), такой как http://my.dev.com/. Если я сохраню параметры проекта и вернусь в него, переопределенный корневой URL будет отображаться как http://http://my.dev.com. Как только я удалил последнюю косую черту, она начала нормально себя вести, и ошибка исчезла.

0
Richard Edwards

В моем случае кажется, что это сообщение может быть выдано Intellisense в Visual Studio 2013. На приведенном ниже снимке экрана показана ошибка в нижней части VisualStudio 2013 после первой загрузки пользовательского проекта .  VS2013 "ERROR-HRESULT-E Screenshot

Я начал гуглить причины этой ошибки и решил попробовать удалить файлы user.vxproj, как указано выше. Однако я обнаружил, что проект собран без проблем, и после выхода и повторной загрузки проекта я больше не получаю сообщение об ошибке. Таким образом, я предполагаю, что в моем случае это было некоторое повреждение из-за перемещения проекта из структуры дерева каталогов клиентов в мою структуру дерева локальных дисков разработки. Ключевым моментом здесь является то, что в моем случае проблема была временной. Я НИЧЕГО не сделал и проблема, казалось, разрешилась сама собой. (Обычно это нежелательно, потому что я ничего не исправил, так что это может вернуться).

0
Ross Youngblood

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

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

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

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

  4. Перезапустите Visual Studio.

    Шаг 1 и 2 были скопированы с поста Бесник Кастрати.

0
Salman Saleh

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

  1. Закройте Visual Studio и восстановите его через панель управления. 
  2. Перезагрузите систему 

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

0
Meghan N.

У меня возникла эта проблема, потому что я пытался открыть проекты SSIS и протестировать драйвер Attunity для Oracle из SSDT 2013 (TFS) в SSDT 2017. В новом проекте SSIS драйвер Attunity работал бы нормально, но в обновленном проекте SSIS он отображал ошибку, когда Я пытаюсь проверить соединение. Решение состоит в том, чтобы исправить старый проект. 

0
Tahir
  1. Добавьте разработку, начатую на архитектуре x86 или 64-битной системе, тогда она будет работать и на 32-битной системе.
  2. но если вы добавляете разработку, инициированную в 32-битной системе, а затем хотите внести изменения в исходный код в 64-битной системе Примечание: если вы подключены к системе SAP License, тогда установите порт и задайте имя сервера через диспетчер служб, в противном случае Система выдаст ошибку:

Контекст соединения: - Получение фабрики класса COM для компонента с CLSID {632F4591-AA62-4219-8FB6-22BCF5F60090} не удалось из-за следующая ошибка: 80040154 Класс не зарегистрирован (Исключение из HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).

0
Krishn Kumar Gupta

Шаги, чтобы решить проблему:

1. Откройте свое решение/веб-приложение в VS 2012 в режиме администратора.

2. Перейдите на IIS и запишите настройки своего приложения (например, имя виртуального каталога, физический путь, настройки аутентификации и используемый пул приложений).

3. Удалите (щелкните правой кнопкой мыши и выберите «Удалить») свое приложение с веб-сайта по умолчанию. Обновить IIS.

4. Вернитесь к VS 2012 и откройте настройки (щелкните правой кнопкой мыши и выберите свойства) для своего веб-приложения.

5.Выберите раздел «Серверы Web.In» и убедитесь, что вы выбрали «Использовать локальный IIS веб-сервер».

6.В текстовом поле «URL проекта» введите путь к своему приложению (http: // localhost/Application Path). Нажмите на Создать виртуальный каталог.

7. Перейдите на IIS и примените настройки, указанные в шаге 2. Обновите IIS.

8. Перейдите к VS 2012 и установите этот проект как стартовый проект с соответствующей страницей в качестве стартовой страницы.

9.Нажмите кнопку запуска, чтобы запустить проект в режиме отладки.

Для меня эта проблема решена для веб-приложения, перенесенного с VS 2010 на 2012 год. Надеюсь, что это поможет любому, кто ищет конкретную проблему.

Моя конфигурация машины: IIS 7.5.7600.16385

VS 2012 Professional

Windows 7 Enterprise (версия 6.1 - сборка 7601: пакет обновления 1) 

0
Bhushan

Моя проблема проявилась в открытии файла appxmanifest для Win10 (без каламбура). Простая установка инструментов Windows 10 и SDK (перейдите в New-> Project-> Select Windows-> Install Tools) исправили его.

0
Bruno Samardžić

Я перепробовал все вышеперечисленные решения, но у меня ничего не вышло, я нашел решение здесь

  • Откройте 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 Prompt (режим администратора):

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

      C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Common7\IDE\PublicAssemblies   
      
    2. Запустите gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

0
dawncode

Я исправил ту же проблему, удалив папку ComponentModelCache

  1. Закройте Visual Studio (если вы еще этого не сделали, уже в отчаянии)
  2. Откройте окно проводника и перейдите в свою папку AppData. Вы можете добраться туда:
    1. В строке поиска введите %APPDATA%/.. и нажмите ввод
    2. Или перейдите к C:\Users\\AppData
  3. Перейдите в Local\Microsoft\VisualStudio\<version> где 12.0 для Visual Studio 2013.
  4. Удалите папку ComponentModelCache.

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

0
user2592899

Это происходит на нашем сервере сборки TFS несколько раз (Gated check in). Речь идет о рабочей папке. Я не знаю почему, но доступ к папке рабочей области иногда поврежден. Что я делаю, чтобы решить проблему, так это удаление рабочих областей сборки TFS и удаление соответствующих папок рабочей области. Затем машина сборки TFS создает новые рабочие пространства для себя, и проблема устранена.

Решение Tousif Ahmed должно работать для локальных сборок. Скопировать папку приложения в другое место должно сделать то же самое, что я делаю на машине сборки TFS.

0
Levent Sezer