Ошибка TFS 2015 Team Build для проектов установки - при проверке произошла ошибка. HRESULT = '8000000A'

Мы используем Visual Studio 2015 и TFS 2015. У нас есть отдельный сервер сборки, на котором мы развернули агент сборки, VS 2015 и расширение MS для проектов установщика (можно найти здесь https://marketplace.visualstudio.com/items?itemName=VisualStudioProductTeam.MicrosoftVisualStudio2015)

Наше решение включает в себя ряд проектов по настройке. Однако командная сборка терпит неудачу при попытке построить эти проекты. Ошибка

Произошла ошибка при проверке. HRESULT = '8000000A'

Было возвращено несколько результатов поиска решения этой проблемы (включая несколько страниц о переполнении стека), и все они в значительной степени сводятся к одному предложению добавить или установить значение 0 для EnableOutOfProcBuild для ключа HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 14.0_Config \ MSBuild

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

Шаг сборки для каждого проекта установки - это командная строка с

  • инструмент: "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv"
  • аргументы: $ (Build.SourcesDirectory) \ $ (system.teamProject) \ Raven.sln / build "Release" / project

    $ (Build.SourcesDirectory) \ $ (system.teamProject) \ src ... \ ourproj.vdproj / projectConfig "Выпуск"

(обратите внимание на анонимные пути и имена), который отображается в журналах сборки, как и ожидалось, и копирование командной строки журнала и выполнение в командной строке на сервере сборки действительно работает.

Любые идеи?


person Stephen    schedule 11.05.2017    source источник
comment
Есть ли другие сообщения об ошибках, не могли бы вы опубликовать их все здесь   -  person Tingting0929    schedule 12.05.2017
comment
Других ошибок в логах нет   -  person Stephen    schedule 15.05.2017
comment
1 ›------ Началась сборка: Проект: xxx (BL \ xxx \ xxx), Конфигурация: Выпуск x86 ------ 1› xxx - ›C: \ Agent \ agent_work \ 9c81b20c \ yyy \ xxx \ bin \ Release \ xxx.exe Запуск проверки перед сборкой для проекта 'xxx' ------ ОШИБКА: при проверке произошла ошибка. HRESULT = '8000000A' Проверка перед сборкой для проекта 'xxx' завершена ------ 2 ›------ Сборка началась: Проект: xxx, Конфигурация: Выпуск ------ Сборка: 1 выполнена успешно, 1 не удалось, 0 обновлено, 0 пропущено ==========   -  person Stephen    schedule 15.05.2017
comment
Попробуйте изменить переменную system.debug на true и создать очередь, затем проверьте, есть ли подробные ошибки.   -  person starian chen-MSFT    schedule 17.05.2017
comment
Больше никаких подробных ошибок - все тот же результат для проекта развертывания.   -  person Stephen    schedule 19.05.2017
comment
@ Стивен, ты решил проблему? у меня такая же проблема в моих проектах   -  person Leon Barkan    schedule 17.10.2017
comment
Привет, Леон. До сих пор не удалось решить эту проблему. Установил обновление 4 для TFS 2015 и перенастроил агент в надежде, что это сработает, но этого не произошло. Не знаю, что еще попробовать.   -  person Stephen    schedule 19.10.2017


Ответы (5)


У меня была такая же проблема с Jenkins CI Tool. Следующие шаги помогут решить проблему.

[![1.Open Service.msc as administrator
2.go to service for me Jenkins, for you May TFS
3.Right-click and select properties
4.Click on log On tab
5.Select This account and put user and password of your user. Make sure user is available by using Browse.
6.Click Apply and Ok.
7.Restart the service.][1]][1]

Это может решить ваши проблемы.

Изменить логин службы Ci Tool

person Ajay Kumar Jaiswal    schedule 20.12.2017
comment
Я могу подтвердить, что это решает мою проблему. Сервис отображает имя агента: VSTS Agent ([AGENT NAME]). Большое спасибо! - person Mar Tin; 12.07.2019

Да, посетите этот блог , вам нужно установить от 0 до HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\14.0_Config\MSBuild\EnableOutOfProcBuild.

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

И на этапе Командная строка я обнаружил, что вам нужно кое-что изменить:

  • инструмент: "C: \ Program Files (x86) \ Microsoft Visual Studio 14.0 \ Common7 \ IDE \ devenv.com"
  • аргументы: $ (Build.SourcesDirectory) .. \ Raven.sln / build "Release" / project $ (Build.SourcesDirectory) ... \ src ... \ ourproj.vdproj / projectConfig "Release".

Путь решения и путь проекта, вы должны убедиться, что он правильный и его можно найти на сервере агента сборки. $ (Build.SourcesDirectory) может представлять «C: \ Agent_work \ 1 \ s».

Убедитесь, что вы звоните на правильный devenv.com, чтобы разработать решение.

person Tingting0929    schedule 12.05.2017
comment
Как я сказал выше, мы все это сделали. Мы следили за этим блогом и публиковали сообщения на различных сайтах StackOverflow и Microsoft. Мы внесли предлагаемые изменения в реестр и проверили, можем ли мы выполнить сборку из командной строки - на самом деле, как я указывал выше, мы фактически зашли так далеко, что скопировали точную командную строку, которая была создана в журналах сборки TFS и выполнил его без изменений в командной строке на сервере сборки, и он действительно построил проект развертывания. Мы сделали все это, но сборка по сценарию все еще не работала, поэтому я разместил вопрос здесь. - person Stephen; 15.05.2017
comment
@ Создан ли этот проект в более ранней версии Visual Studio и обновлен до VS 2015? А есть ли у вас какой-либо другой агент сборки, настройте новый агент сборки и попробуйте еще раз? - person Tingting0929; 16.05.2017
comment
Этот проект действительно был обновлен с версии VS2010. Есть ли что-то конкретное, что нам нужно сделать в результате? Пока не удалось развернуть другой агент сборки, сделаем это, как только у нас будет время. - person Stephen; 19.05.2017

Ваш EnableOutOfProcBuild - 64-разрядный или 32-разрядный DWORD? Моя Visual Studio 2015 32-разрядная, и мне нужно было установить для этого раздела реестра 32-разрядную версию, чтобы исправить ошибку сборки. Сначала я установил ключ на 64-битный DWORD, и он не исправил ошибку сборки 8000000A. Я использую nant версии 0.92 для запуска скрипта сборки.

Я не использую 64-битную VS 2015. Если у вас 64-битная VS 2015, вам может потребоваться установить для EnableOutOfProcBuild значение 64-битного DWORD.

person Joel Zhou    schedule 19.06.2017

У меня была такая же проблема, и я решил ее, выполнив следующие шаги:

1) Установите флажок «Сборка» для проекта настройки в окне «Страницы свойств решения» и сохраните решение.

2) Создайте или отредактируйте HKEY_CURRENT_USER \ Software \ Microsoft \ VisualStudio \ 12.0_Config \ MSBuild \ EnableOutOfProcBuild, чтобы значение DWORD было равно 0. У меня установлен VS 2013, поэтому я заглянул внутрь "12.0_Config"

3) Повторите попытку с помощью команды devenv и получите успешный ответ.

"========== Перестроить все: 2 успешно, 0 неудачно, 0 пропущено =========="

:)

person Devendra    schedule 12.01.2018

Если вы запускаете частный агент VSTS / TFS / Azure DevOps в качестве службы Windows, щелкните службу правой кнопкой мыши и перейдите на вкладку входа в систему, затем повторно войдите в систему с администратором или своей учетной записью. затем перезапустите службу. Это решит эту проблему.

person Lakmal    schedule 31.01.2019