Я получаю эту ошибку некоторое время при использовании devenv для автоматической сборки. Я просмотрел все веб-сайты, которые могу найти, и в обычных ответах упоминаются обновления зависимостей (которые, как я считаю, исправляют его для ручного развертывания, но не для автоматического) и удаление кодирования системы управления версиями из проектов, что мне не помогло.
Ошибка возникает не каждый раз, когда я создаю, но каждый раз она кажется случайной в разных проектах развертывания.
Есть ли у кого-нибудь советы о том, почему именно возникает эта ошибка и как ее исправить?
elegant solution
) в суть, ИМХО.Ответы:
Это известная проблема в Visual Studio 2010 (состояние гонки). См. Этот элемент подключения .
Мы тоже столкнулись с этим, и нам очень неудовлетворительно позвонили в службу поддержки Microsoft по этой проблеме. Короче говоря: это известная проблема, она не будет решена, и Microsoft советует отказаться от проектов установки Visual Studio (.vdproj).
Мы обошли эту проблему, запустив сборку MSI во второй раз, когда она выйдет из строя в первый раз. Не очень хорошо, но большую часть времени он работает (частота ошибок снизилась с ~ 10% до ~ 1%).
источник
Обновление для тех, у кого возникла эта проблема для VS2013 или VS2015 после обновления проекта установки VS200X с помощью расширения Microsoft Visual Studio Installer Projects.
Следуя рецепту v1.0.0.0 от MS, наконец, у меня все заработало:
Проекты установщика Microsoft Visual Studio
источник
Обновление от 14.06.2017
расширение Microsoft Visual Studio 2017 Installer Projects теперь включает вспомогательный инструмент командной строки для упрощения применения параметров реестра Microsoft Visual Studio 2017 Installer Projects.
Примеры путей к инструменту (в зависимости от установленной версии Visual Studio)
Из README
Этот простой инструмент предназначен для помощи пользователям в установке ключа реестра, необходимого для обхода этой ошибки, которая может появиться при создании проектов установщика с использованием сборок из командной строки:
ОШИБКА: при проверке произошла ошибка. HRESULT = '8000000A'
Инструмент предназначен для Visual Studio 2017+ и устанавливает этот ключ reg для конкретного установленного экземпляра Visual Studio для текущего пользователя. Поэтому, если вы устанавливаете это в агенте сборки, обязательно используйте учетную запись пользователя, которую будет использовать сборка.
Запустите «DisableOutOfProcBuild.exe help» для получения подробной информации об использовании.
источник
Я читал где-то в Интернете об этом, и я исправил это так (это было кем-то предложено) :
удалите эти строки в начале файла .vdproj:
Эта ошибка не помешала мне развернуть, собрать, отладить (или что-то еще) мой проект, она просто меня раздражала. И это продолжалось, даже если я настроил все проекты на сборку в текущей конфигурации, а проект установки - на нет.
источник
Постоянное решение (+ для сборочных машин)
Visual Studio 2017
Для VS 2017 вызовите следующие сценарии CMD под своей целевой учетной записью Windows:
Редакция сообщества
Профессиональная версия
Корпоративная версия
TL; DR. Примечания для бедных
DisableOutOfProcBuild.exe
, предлагаемое Microsoft решение, которое я использую для VS 2017.DisableOutOfProcBuild.exe
не предполагает, что вы вызовете его из установочной папки . Таким образом, вы не можете скопировать этот EXE-файл. (Кстати, если вы хотите собрать .vdproj, вы должны установить VS.)DisableOutOfProcBuild.exe
будет работать только в том случае, если в качестве текущего каталога CMD выбрана установка DisableOutOfProcBuild.exe.Например, для версии VS Professional мы должны вызвать
Visual Studio 2015 и ранее
CMD для текущего пользователя Windows
Для многих людей создание / исправление
HKEY_CURRENT_USER\..
не всегда работает или работает постоянно.Пытаясь решить эту проблему, я обнаружил, что на самом деле мне нужно создать / изменить какой-то странный ключ в HKEY_USERS
HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuild
Но я также обнаружил, что если я буду использовать консоль CMD для
HKCU
предлагаемого исправления,REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio\14.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
это будет записывать значение точно в этот странный ключ HKEY_USERS \ S-1-5-xx-xxxxxxxxxx-xx ... , а не в HKEY_CURRENT_USER .
Итак, это работает с первого кадра и навсегда. Просто используйте консоль CMD.
Решатель для серверов сборки
С другой стороны, этот код всегда работает для текущей учетной записи пользователя, которая его запускает (из-за HKEY_CURRENT_USER). Но сборочные серверы часто используют выделенные учетные записи или локальную систему и т. Д.
Я исправил это на своих сборочных машинах, добавив следующий простой командный файл в свои задачи сборки (Jenkins, TeamCity, CruiseControl)
VS-2015 , VS-2013 , VS-2017-Сообщество , VS-2017-Профессиональный , VS-2017-Предприятие
источник
Как указано в комментариях здесь , для VS2017 вам нужно будет создать DWORD HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 15.0_ [IDKey] _Config \ MSBuild \ EnableOutOfProcBuild Заменить [IDKey] суффиксом идентификатора существующего подраздела 15.0 VisualStudio .
Например, если в VisualStudio вы видите ключ «15.0_abcd1234», это будет «15.0_abcd1234_Config».
источник
Исправление теперь загружено сюда:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186
Вы можете прочитать об этом здесь:
http://connect.microsoft.com/VisualStudio/feedback/details/595632/inconsistent-hanging-with-devenv-2010
источник
Я столкнулся с этой проблемой после того, как переместил свой проект на другой компьютер (VS 2010, несколько проектов в решении).
Мой проект уже был построен на исходном компьютере, но после того, как я скопировал его в целевой, я не смог создать свой проект установки и имел эту ошибку.
Я открыл
/Debug
папку , в моей установке корневого пути проекта, былиMyProject.msi
иsetup.exe
файлы, я удалил их и снова построил свой проект, он работал. Надеюсь, это сработает и для некоторых ребят.источник
Может помочь проверка зависимостей проекта.
В VS 2010 щелкните правой кнопкой мыши в обозревателе решений, затем выберите «Обнаруженные зависимости» и «Обновить зависимости», это иногда решает проблему.
источник
Я использую VS 2017, но ни одно из вышеперечисленных решений не работает. Итак, обновили последнюю версию VS 2017 и применили решение @AussieAsh, и оно отлично работает ...
Надеюсь, это решение может кому-то сработать.
источник
у меня это было вызвано неправильным файлом .suo. (вызвано Skydrive) удаление этого файла решило проблему.
источник
Visual Studio 2017 хранит информацию, ранее хранившуюся в общедоступном реестре, в новом частном реестре: C: \ Users \\ AppData \ Local \ Microsoft \ VisualStudio \ 15.0_6de65198 \ privateregistry.bin
Здесь вам нужно добавить EnableOutOfProcBuild в соответствии с инструкциями для VS2013 / VS2015.
Для обновления частного реестра вы можете использовать Regedit.
Щелкните, чтобы выбрать узел HKEY_USERS.
Выберите «Файл»> «Загрузить куст» и перейдите к файлу privateregistry.bin. Когда вы выберете его, Regedit запросит имя - неважно, как вы его назовете, скоро мы закончим.
Теперь появится структура реестра, и вы можете перейти к Microsoft \ VisualStudio \ 15.0_Config \ MSBuild.
Создайте новый DWORD EnableOutOfProcBuild со значением 0.
После этого выберите корень улья (как бы вы его назвали ранее) и используйте «Файл»> «Выгрузить улей», чтобы отсоединиться от него.
Теперь должно работать: o)
источник
Моя Visual Studio 2013 каким-то образом стала экспериментальной, поэтому она начала использовать другой ключ реестра для EnableOutOfProcBuild.
Конечно, я просто добавил в свой командный файл еще одну строку для установки значения реестра, и он начал работать:
источник
Просто запустите этот exe
(Visual Studio 2017 Community edition)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Community \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
(Visual Studio 2017 Enterprise edition)
C: \ Program Files (x86) \ Microsoft Visual Studio \ 2017 \ Enterprise \ Common7 \ IDE \ CommonExtensions \ Microsoft \ VSI \ DisableOutOfProcBuild \ DisableOutOfProcBuild.exe
источник
Хорошо, я занимался этой проблемой, пока не стал синим лицом, красным лицом, потерял волосы и потерял рассудок, и пробовал каждый шаг, который мог найти. :-D
Мое решение для Visual Studio 2017 / TeamCity представляло собой комбинацию двух решений от @ it3xl и некоторой помощи от @ Night94 .
Похоже, проблема заключалась в том, что отсутствовал ключ реестра для пользователя TeamCity .
DisableOutOfProcBuild.exe
как уже упоминалось @AussieAsh поэтому не работал , как он добавил ключ реестра для только моего пользователя.Поэтому решение заключалось в том, чтобы добавить следующее в качестве этапа сборки командной строки из TeamCity до MSBuild:
После выполнения этого шага при необходимости его можно будет удалить.
Резюме решения
Либо:
DisableOutOfProcBuild.exe
как пользователь TeamCity , илиHKCU\SOFTWARE\Microsoft\VisualStudio
и проверьте версию, указанную в списке, затем измените приведенное выше,REG ADD
чтобы оно соответствовало версиям (не забудьте добавить_Config
) в качестве шага в сборке TeamCity.Опять же, описанное выше должно быть выполнено только один раз. Вы можете отключить переход в TeamCity, оставив его для справки, если снова столкнетесь с проблемой.
источник
Шаг 1. Я "создал ключ DWORD с именем EnableOutOfProcBuild " и установил для него значение " 0 " по указанному ниже пути.
Примечание. Убедитесь, что вы вошли в систему с тем же пользователем, с которым пытаетесь создать проект.
У меня все работает нормально.
источник
Возникла эта проблема сегодня, попробуйте перезапустить Visual Studio, если это не поможет, создайте новый проект, сохраните его, а затем скопируйте файлы из проблемного проекта. у меня сработали оба метода.
источник
Пожалуйста, сначала очистите решение, соберите решение, а затем попробуйте собрать установщик. Это устранит ошибку.
источник