При проверке произошла ошибка. HRESULT = '8000000A'
Я получаю эту ошибку в течение некоторого времени при использовании devenv на автоматической сборке. Я прошел через каждый веб-сайт, который я могу найти, и обычные ответы упоминают освежающие зависимости (которые, я считаю, исправляют его для ручного развертывания, но не для автоматического) и удаляют кодирование системы управления версиями из проектов, что мне не помогло.
ошибка не возникает каждый раз, когда я строю, но это кажется случайным на разных проектах развертывания каждый время.
есть ли у кого-нибудь советы о том, почему именно эта ошибка возникает и как ее исправить?
14 ответов:
Это известная проблема в Visual Studio 2010 (состояние гонки). Смотрите этот пункт Connect.
мы также столкнулись с этим, и у нас был очень неудовлетворительный вызов поддержки по этой проблеме с Microsoft. Короче говоря: это известная проблема, она не будет решена, и Microsoft советует отойти от проектов установки Visual Studio (.vdproj).
мы обошли эту проблему, запустив сборку MSI во второй раз, когда она не работает в первый раз. Несимпатичный, но он работает большую часть времени (частота ошибок снижается от ~ 10% до ~ 1%).
обновление для тех, кто получил эту проблему для VS2013 или VS2015 после обновления проекта установки VS200X с помощью расширения проектов установщика Microsoft Visual Studio.
следуя рецепту для v1.0.0. 0 от MS, наконец, заставил его работать для меня:
Проекты Установщика Microsoft Visual Studio
к сожалению, мы не смогли решить все случаи проблемы командной строки для этого выпуска, поскольку мы все еще исследуем соответствующие способ их решения. Но у нас есть решение, которое мы считаем, будет работать почти для всех из них. Если вы все еще страдаете от этой проблемы, то вы можете попробовать изменить значение DWORD для следующего значения реестра на 0:
HKEY_CURRENT_USER\Software\Microsoft\VisualStudio.0_Config\MSBuild\EnableOutOfProcBuild(VS2013)
илиHKEY_CURRENT_USER\Software\Microsoft\VisualStudio.0_Config\MSBuild\EnableOutOfProcBuild(VS2015)
Если этого не существует, вы можете создать его как DWORD.
Я читал где-то в интернете об этом, и я исправил это так (было предложено кем-то):
- открыть файл проекта установки (.vdproj) в блокноте (или другом текстовом редакторе)
удалить эти строки в начале .файл vdproj:
"SccProjectName" = "8:" "SccLocalPath" = "8:" "SccAuxPath" = "8:" "SccProvider" = "8:"- построить заново - ошибок нет
эта ошибка не помешала мне развернуть, построить, отладить (или любой другой) мой проект это просто раздражало мне. И это произошло, даже если я установил все проекты для сборки в текущей конфигурации, а проект установки-нет.
обновление от 14.06.2017
расширение Microsoft Visual Studio 2017 Installer Projects теперь включает вспомогательный инструмент командной строки для упрощения применения параметра реестра Проекты Установщика Microsoft Visual Studio 2017
пример пути инструмента (на основе установленной версии Visual Studio)
Профессиональный Вариант:
C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exe
Community Edition:
C:\Program Files (x86)\Microsoft Visual Studio17\Community\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild\DisableOutOfProcBuild.exeиз README
этот простой инструмент предназначен, чтобы помочь пользователям установить раздел реестра, необходимый, чтобы обойти эту ошибку, которая может появиться при создании проектов установщика с помощью командной строки строит:
ошибка: произошла ошибка при проверке. HRESULT = '8000000A'
инструмент предназначен для Visual Studio 2017+ и устанавливает этот ключ reg для определенного установленного экземпляра Visual Studio для текущего пользователя. Поэтому, если вы устанавливаете это на агенте сборки, обязательно используйте учетную запись пользователя, которую будет использовать сборка.
Run " DisableOutOfProcBuild.exe help " для деталей использования.
постоянное решение (+ для сборки машины)
Visual Studio 2017
для VS 2017 вызовите следующее под целевым пользователем:
сообщество издание
профессиональный издание
предприятия изданиеTL; DR. заметки для бедных
DisableOutOfProcBuild.exeпредлагаемое решение Microsoft, которое я использую для VS 2017.
DisableOutOfProcBuild.exeне предполагает, что вы будете звонить это из папки установки. Кстати, если вы хотите построить .vdproj, вы должны установить VS.DisableOutOfProcBuild.exeбудет работать только в том случае, если текущий каталог CMD установлен в место установки DisableOutOfProcBuild.исполняемый.например, для VS Professional edition мы должны позвонить
CD "C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\CommonExtensions\Microsoft\VSI\DisableOutOfProcBuild" CALL DisableOutOfProcBuild.exe
в Visual Studio 2015 и ранее
по CMD для текущего
для многих людей создание/коррекция под
HKEY_CURRENT_USER\..не всегда работает или работает постоянно.
Пытаясь решить эту проблему, я обнаружил, что на самом деле мне нужно создать/изменить какой-то странный ключ под разделе hkey_usersHKEY_USERS\S-1-5-xx-xxxxxxxxxx-xxxxxxxxx-xxxxxxxxxxx-xxxxx\...\MSBuildно я также обнаружил, что если я буду использовать консоль CMD с предлагаемым исправлением
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
это будет записывать значение именно в этот странный ключ HKEY_USERS\S-1-5-xx-xxxxxxxxxx-xx..., только не к раздел HKEY_CURRENT_USER.так, это работает с первого выстрела. Просто используйте консоль CMD.
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f @REM (use 12.0_Config for VS2013)решатель для серверов сборки
С другой стороны, этот код всегда работает для текущей учетной записи пользователя, которая запускает его (из-за HKEY_CURRENT_USER). Но build-серверы часто используют выделенные учетные записи (локальная система и т. д.).
я исправил это на моих машинах сборки, добавив следующий простой пакетный файл в мою сборку задачи (с Jenkins, TeamCity, CruiseControl)
VS-2015, VS-2013, VS-2017-Community, VS-2017-Professional, VS-2017-Enterprise
исправление теперь загружено здесь:
http://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=33186
вы можете прочитать об этом здесь:
Как указано в комментариях здесь, для VS2017 вам нужно будет создать DWORD HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\15.0_[IDKey]_Config\MSBuild\EnableOutOfProcBuild Замените [IDKey] на суффикс ID существующего подраздела 15.0 VisualStudio.
например, если в VisualStudio вы видите ключ "15.0_abcd1234", это будет "15.0_abcd1234_Config".
я столкнулся с этой проблемой после того, как я переместил свой проект на другой компьютер(VS 2010, несколько проектов в решении).
он уже был построен мой проект на исходном компьютере, но после того, как я скопировал в target, я не смог построить свой проект установки и иметь эту ошибку.
открыл
/Debugпапка под моим корневым путем проекта установки, там былиMyProject.msiиsetup.exeфайлы, я удалил их и снова построил свой проект, он работал. Надеюсь, что это работает для некоторых парней, тоже.
проверка зависимостей проекта может помочь.
в VS 2010 щелкните правой кнопкой мыши в обозревателе решений, затем выберите обнаруженные зависимости и обновите зависимости, это когда-нибудь решит проблему.
со мной это было вызвано неверной .файл suo. (вызвано skydrive ) удаление этого файла решило проблему.
Visual Studio 2017 сохраняет информацию, ранее сохраненную в общедоступном реестре, в новом частном реестре: C:\Users\\AppData\Local\Microsoft\VisualStudio\15.0_6de65198\privateregistry.бин
здесь вам нужно добавить EnableOutOfProcBuild в соответствии с инструкциями для VS2013 / VS2015.
для обновления частного реестра можно использовать Regedit.
щелкните, чтобы выбрать узел HKEY_USERS.
Выберите файл > загрузить улей и перейдите в частную собственность.файл bin. Когда вы выберете его, Regedit попросит имя - неважно, как вы его называете, так как мы скоро сделаем.
теперь появится структура реестра, и вы можете перейти к Microsoft\VisualStudio\15. 0_Config\MSBuild
создайте новый DWORD EnableOutOfProcBuild со значением 0.
после этого выберите корень улья (независимо от того, как вы назвали его ранее) и используйте File > Unload Hive для отсоединения от него.
теперь он должен работать :о)
моя Visual Studio 2013 как-то стала экспериментальные поэтому он начал использовать другой раздел реестра для EnableOutOfProcBuild
чтобы убедиться, что я просто добавил еще одну строку в свой пакетный файл для установки значения реестра, и он начал работать:
REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio.0_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f REG ADD HKCU\SOFTWARE\Microsoft\VisualStudio.0Exp_Config\MSBuild /t REG_DWORD /v EnableOutOfProcBuild /d 0 /f
была эта проблема сегодня, попробуйте перезапустить Visual Studio, Если это не делает его создать новый проект, сохранить его, а затем скопировать файлы из проблемного проекта более. оба метода работали на меня.
сначала очистите решение, создайте решение и попробуйте создать установщик. Это позволит удалить ошибку.


Comments