Возникли ошибки сборки visual studio 2013

Обновлено: 07.07.2024

Это касается нескольких проектов, которые были перенесены с MSVC2012. Другие проекты с тем же макетом проекта / решения, перенесенные из той же среды MSVC2012, не мигнули, в то время как некоторые выявляют эту ошибку, которая препятствует успешному результату компиляции / сборки.

2 ответа

Ошибка возникла из-за того, что поле конфигурации проекта Platform Toolset было пустым . (В файле проекта .vcproj здесь должно быть указано значение, например v120 )

После :

Это значение можно установить в DevStudio через панель свойств проекта> Свойства конфигурации> Общие> Набор инструментов платформы :: выберите одно из значений в раскрывающемся списке.

Как это было раскрыто:

создать пустой новый проект в MSVC2013 того же типа

используйте Beyond Compare (или другой инструмент визуального сравнения, который может легко редактировать сравниваемые файлы, копируя их фрагменты), чтобы скопировать набор файлов и протестировать (путем перезагрузки в DevStudio и запуска там процесса build ).

следующую копию по битам настроек проекта (и продублируйте блоки, если ваш исходный проект имеет несколько целей сборки, таких как у меня (Win32 / x64 / Itanium)), проверьте снова.

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

Связанные вопросы SO и блоги, которые были испытаны до всего этого:

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

В Visual Studio 2013 эта ошибка возникает при попытке скомпилировать программу, созданную в проекте с неверными настройками. Для меня это произошло, когда я очищал свою установку. Если вы пытаетесь очистить свои временные файлы и перейти в C: \ Program Files (x86) \ Microsoft Visual Studio \ Installer \ resources \ app \ layout и запустить программу InstallCleanup.exe, похоже, удаляются временные файлы, но также и ваши настройки. В частности, тип проекта, который вы создаете.

Как воспроизвести ошибку:

Если вы выберете «Новый проект», отобразятся некоторые параметры: 1) Atl 2) CLR 3) Общие 4) Win 32. Вы должны выбрать Win 32, а затем выбрать консоль Win32 или проект Win32. По умолчанию он выбирает что-то еще, тогда после создания проекта вы поймете, что Свойства -> Компоновщик -> Система -> Подсистема пусто, хотя должно быть / SUBSYSTEM: CONSOLE (или / SUBSYSTEM: WIN32).

После исправления этого и попытки скомпилировать его выдаст ошибку MSB4018.

Таким образом, решение состоит в том, чтобы снова создать проект и убедиться, что параметры установлены правильно, как описано.

У меня есть веб-приложение, которое содержит ссылку на службы WCF.

При сборке с использованием Visual Studio 2010 сборка завершается неудачно без каких-либо ошибок или предупреждений. Однако создание .csproj с использованием MsBuild успешно.

Не могу понять, что я должен попробовать в Visual Studio, чтобы решить/диагностировать проблему. Можете ли вы помочь?

РЕДАКТИРОВАТЬ:

Я обнаружил, что сборка не удалась,

enter image description here

Из текста, отображаемого в строке состояния.

Я смог определить это, установив многословность сборки проекта MSBuild (в области Visual Studio Options/Projects and Solutions/Build and Run) в "Diagnostic", как показано ниже. Затем это показало, что пользовательское действие (в моем случае HgVersionFile) было ошибкой.

Screen capture from Visual Studio showing the modified setting.

Screenshot

  • Если решение содержит более одного проекта, попробуйте создать их по одному.
  • Попробуйте перезапустить Visual Studio.
  • Попробуйте перезагрузить компьютер.
  • Попробуйте "Восстановить все"
  • Попробуйте "Очистить решение", затем удалите файлы "vspscc" и "vssscc", а затем перезапустите Visual Studio и затем "Перестройте все".

VS (2013 Pro, Win 8.1) перезагрузка сделала это для меня.

Чтобы устранить проблему с обновлением Visual Studio 2015 2, мне приходилось строить каждый проект по одному и смотреть окно вывода после каждой сборки.

Один проект дал мне

"Тип или имя пространства имен" SomeNamespace "не существует в пространстве имен" BeforeSomeNamespace "(вам не хватает ссылки на сборку?)".

В окне списка ошибок не было ошибок, но на сборке был желтый предупреждающий знак в разделе "Ссылки".

Затем я увидел, что проект ссылки ориентирован на 4.5.1 и на упомянутый проект 4.6.1. Изменение 4.6.1 до 4.5.1 позволило построить общую сборку.

Удалите папку .vs и перезапустите VS, у меня сработало

enter image description here

Ничего не работало для меня, поэтому я удалил файл .suo, перезапустил VS, очистил проецируемый, а затем сборка будет работать.

работает (иногда) но это действует мне на нервы. Есть ли способ остановить это вообще?

Мои настройки отладчика

введите описание изображения здесь
введите описание изображения здесь

Есть хорошее резюме этой проблемы с типичными шагами, чтобы решить в этом вопросе Это происходило для меня, потому что Защитник Windows решил, что ему больше не нравится .exe из проекта VS2019, над которым я работаю. Работали над этим неделями без проблем, но сегодня, думаю, новое обновление не понравилось. Пришлось исключить мои исходные папки. Перестало происходить.

В основном я обнаружил, что такая ситуация возникла, когда процесс отладки был остановлен из-за исключения.

Когда clean + build не решил эту проблему для меня, я добился успеха, выполнив следующие действия:

  • Закрытие Visual Studio
  • Удаление bin и obj папки, и
  • Повторное открытие Visual Studio.

Эта «ошибка» существует со времен Visual Studio 2003.

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

То же самое здесь, VS2013. Выход, удаление артефактов сборки, перезапуск -> все хорошо. У меня та же проблема, но после перезапуска VS я получаю одну сборку, и файлы снова блокируются .. Это не решение, в лучшем случае частичное решение. Я не хочу перезапускать VS каждые 10 минут. Очистка раствора работает для меня, но очистка каждые 10 минут также не является решением. Исходя из моего опыта, VS2013 делает это по крайней мере 10 раз в день для меня, независимо от того, на какой машине я работаю. Это как ошибка стала хуже. Просто говорю

В Visual Studio Premium 2013 (обновление 3) я решил эту проблему с помощью предварительной сборки одной строки:

Это изящно удаляет все старые файлы PDB (если это возможно), а затем переименовывает все, что осталось с .old.pdb расширением. Приятным побочным эффектом является то, что если старая PDB все еще заблокирована, она просто добавляет еще один элемент .old к имени файла, и все они очищаются при следующем перезапуске Visual Studio и выполнении сборки.

Например, сеанс сборки / отладки 1 остается MyProject.pdb заблокированным.
В следующий раз вы построите:
MyProject.pdb -> MyProject.old.pdb

Затем запускается сеанс сборки / отладки 2, и оба так MyProject.pdb и MyProject.old.pdb остаются заблокированными:
MyProject.old.pdb -> MyProject.old.old.pdb
MyProject.pdb -> MyProject.old.pdb

Наконец, перезапуск Visual Studio и создание новой сборки избавят от обоих этих факторов и продолжат процесс как обычно.

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

произошла ошибка при установке Roblox? Вот исправление. Как установить Roblox на рабочий стол Июнь-2017.

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

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

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

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

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

  • Можете ли вы опубликовать файл журнала обновления? Также структура проекта у вас есть в решении и изображение ошибки.
  • Удалось ли вам когда-нибудь в этом разобраться? Я сталкиваюсь с той же проблемой и вырываю волосы!
  • Нет, мне пришлось продолжать использовать VS2010 - проект переписывается, поэтому текущая разработка практически остановлена ​​.
  • Недавно удаленный ответ ниже предполагает, что Центр обновления Windows исправит это.
  • Привет, вы приняли ответ, но решение @TimHall может быть проще и менее навязчивым. Ты это пробовал?

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

Я исправил это удаление файла suo решения (насколько я могу судить, он просто хранит информацию, например, какие файлы открыты в среде IDE и т. д., и ее удаление не наносит реального ущерба).

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

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

  • 1 Решения сработали для меня (VS 2013 - приложение Winforms)
  • Пробовал все, но это единственное решение, которое сработало для меня .. спасибо @Tim Hall
  • Спасибо! Это помогло мне
  • Также работает в VS 2017.
  • 4 Спасибо, удалил .vs дерево каталогов и исправила проблему сборки в VS2017 с той же ошибкой.

У меня была такая же проблема с проектом c ++ в Visual Studio 2019.

У меня сработало следующее решение:

  • Закройте Visual Studio.
  • Перейдите в корневую папку проекта и удалите каталог .vs.
  • Запустите Visual Studio и откройте решение.
  • Теперь сборка должна работать.
  • 2 Работал у меня. Не забудьте закрыть VS после удаления каталога .vs. Каталог .vs скрыт, BTW.

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

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

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

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

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

  • 1 Это сработало и для меня. Не знаю, как VS попал в такое состояние, но это меня вывело из него. Я получил эту ошибку при открытии решения

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

Затем сбросьте настройки Visual Studio с помощью

  • 1 это сработало и для меня. Я просто переименовал все папки, в которых были Visual Studios и VS, заново создал все папки, и мои ошибки исчезли. Благодарность!
  • "Инструменты> Импорт и экспорт настроек> сбросить все настройки" У меня сработало, тывм.

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

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

  • 1 Это ответ не только по ссылке. Он описывает возможное решение и предоставляет ссылку в качестве справочного материала.
  • 1 Это тоже сработало для меня. В моем файле .proj была эта волшебная справочная запись, которая появилась после моего последнего коммита git. HintPath указывает на папку obj \ Debug проекта. Убрал эту запись и перестроил, теперь все мои дизайнеры работают.
  • 1 У меня это тоже сработало. У проекта была ссылка на себя для UserControl. Пришлось удалить ссылку, очистить проект, а затем перестроить. WinForm теперь открывается!

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

Сценарий 2. В среде IDE 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 перестроить кеш.

  • Я просто столкнулся с похожей проблемой, и это решило ее для меня. Спасибо, Саймон! (Я использую VS2013 для справки)

Дох! Если кто-то еще получает эту ошибку при попытке подключиться к веб-сайту IIS.

  • 1 В моем случае я попытался переопределить корневой URL-адрес приложения, чтобы добавить параметр GET к запущенному URL-адресу. Это было неподходящее место для этого. Следует установить начальный URL на той же странице свойств.

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

Откройте ActivityLog.xml, зайдя в

Проверьте, не указано ли в ошибке, что

Затем запустите это gacutil через командную строку VS Cmd (режим администратора):

Бегать gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll

  • 1 Это было единственное решение, которое сработало для меня (VS 2017 professional / windows 10). Я также видел ошибку mscorlib в журнале активности. Восстановить и сбросить все настройки не получилось.

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

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

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

Откройте командную строку разработки для 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

Сборка успешно добавлена ​​в кеш

Для получения дополнительных разъяснений перейдите по ссылке ниже

  • После всех усилий. Это сработало у меня в первое мгновение.

Это сработало для меня в VS 2019:

2 компакт-диска в папку "C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Professional \ Common7 \ IDE \ PublicAssemblies"

3 Запустите "gacutil -i Microsoft.VisualStudio.Shell.Interop.11.0.dll"

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

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

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

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

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

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

Ошибка возникла у меня после того, как я установил последнюю версию Windows 10 SDK. Я получал ошибку при создании проекта C ++ с использованием SDK 8.1. В свойствах проекта я переключаюсь на последнюю версию 10 SDK. перестроить. Это сработало. Сменил обратно на 8.1. Восстановить. Нет ошибок.

Просто удалите папку пакетов. Это мне помогло

Основная причина: Microsoft.VisualStudio.Shell.Interop.11.0.dll отсутствует в GAC.

Все готово! нажмите Enter, и все готово!

Действия по устранению проблемы:

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

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

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

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

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

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

Конфигурация моей машины: IIS 7.5.7600.16385

VS 2012 Профессиональный

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

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

  • Мы не используем TFS, и это на другом компьютере разработчика, на котором у нас есть проблема


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

  • Я не совсем ясно ответил. Я попытался удалить файлы user.vxproj, но это не помогло. По моему опыту, проблема разрешилась сама собой после сборки, выхода из vs2013 и перезапуска. Принятый ответ НЕ сработал для моего случая, и, похоже, проблема может исчезнуть сама собой, если вы загрузите, создадите, выйдите, перезагрузите.

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

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

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

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

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

  1. Закройте Visual Studio (если вы еще не сделали этого от отчаяния)
  2. Откройте окно проводника и перейдите в папку AppData. Добраться можно:
    1. В строке поиска введите %APPDATA%/.. и нажмите ввод
    2. Или перейдите к C:\Users\\AppData

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

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

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

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

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

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

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

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

    Я прошел через все шаги по устранению этой проблемы с VS2019 16.2.4, и проблема все еще остается. Я, конечно, надеюсь, что MS исправит эту проблему, так как это происходит уже давно.

    Прямо перед добавлением в обозреватель объектов я не мог понять, как добавить диалоговое окно ссылки в этой версии, так как мне не удалось найти GAC на 2019 год.

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

    Щелкнув Очистить все кеши NuGet в разделе Инструменты> Параметры> Диспетчер пакетов NuGet решил это для меня

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

    Читайте также: