Visual Studio 2013 и TFS Build 2015: Devenv.exe не может создать файл MSI
Мы находимся в процессе обновления нашего сервера TFS 2013 до TFS 2015. В связи с этим у меня возникла проблема при попытке выполнить сборку приложения на агенте сборки с новой версией, используя наш скрипт сборки шаблона XAML (который был создан в TFS 2013).
Большинство наших решений используют вышеупомянутый шаблон при их создании. Решения (к сожалению, все еще) используют проекты установки (.vdproj) для создания пакета MSI для приложения. Создать проект установки и создать MSI для данного приложения; мы вызываем devenv.exe (в нашем случае он указывает на Visual Studio 2013) в нашем скрипте построения шаблона:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe /Build "Release|Any CPU" "d:\<path_to_solution>\solution.sln" /Out c:\temp\out.log
Однако в нашем новом агенте сборки MSI не создается, и вызов devenv.exe не выдает ни вывода, ни сообщений об ошибках. Однако, если я пытаюсь позвонить на devenv.com, он начинает работать, но MSI по-прежнему не создается.
Когда все начинает собираться с использованием devenv.com Кажется, что это полностью игнорирует проект установки (я проверил конфигурации сборки, и проект установки проверен на сборку в конфигурации "Release|Any CPU").
Я просмотрел журналы сборки, журналы активности процесса сборки и также попытался выполнить шаги вручную на агенте сборки, но я не смог найти ничего, что могло бы указать мне на то, что может быть причиной проблема.
У кого-нибудь есть идея, что может быть причиной этого? Может ли это быть проблемой с TFS Build 2015? Единственная разница между старой и новой настройками, насколько я могу судить, заключается в следующем:
- VS 2013 был установлен на C: вместо D: на новом агенте сборки, то есть путь к devenv был бы другим, но это не должно иметь значения, если скрипт сборки ищет нужное место и находит его...
- Мы используем другое место размещения, чем то, что мы использовали для старой установки
Ценю любую помощь и предложения, которые я могу получить.
2 ответа
Проблема решена, и теперь все успешно строится. Я не достаточно хорошо изучил разницу между настройкой агента сборки, которую мы использовали для TFS Build 2013, и настройкой TFS Build 2015.
Во-первых, чтобы иметь возможность создавать проекты установки в VS 2013, необходимо установить расширение Projects Installer Visual Studio 2013 на агенте сборки.
Однако есть некоторые ошибки с этим расширением, которые часто приводят к тому, что проекты настройки здания выдают следующее сообщение об ошибке: " Произошла ошибка при проверке. HRESULT = '8000000A' ". Эту ошибку можно исправить, изменив реестр, как описано в этом посте SO.
Однако создание проектов установки с использованием devenv.exe по-прежнему не работает. Я пока не смог понять, почему.
Используйте сборку Vnext в tfs 2015 для сборки.vdproj. Вам просто нужно добавить один дополнительный шаг сборки, то есть "командную строку", а затем вызвать devenv.com для сборки. Вот так, Инструмент: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com Аргументы: HelloWorldTestInstaller\HelloWorldTestInstaller.vdproj /build release Это поможет вам.