2016-08-15 19 views
1

У меня возникли проблемы с пониманием использования devenv.exe с сервера сборки TFS.Построение проекта с использованием devenv.exe в TFS 15RC1 Build Server

Невозможно использовать devenv по умолчанию, поэтому я попытался использовать PowerShell ssript для выполнения файла devenv.exe с параметрами. В процессе сборки ошибок нет, но я вижу, что файлы результатов сборки не обновляются. Если я запускаю скрипт вручную на агенте-машине, сборка проходит успешно. Вот мой сценарий:

$process = [System.Diagnostics.Process]::Start("C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe", "/Rebuild ""MyConfig"" ""C:\agent\agent\_work\1\s\MyProject.sln"" /Project ""C:\agent\agent\_work\1\s\MyProject\MyProject.dwproj""") 
$process.WaitForExit() 

Как вы видите, теперь я не использовать переменные для исходных путей, но я буду использовать его, если сценарий будет работать.

Я также должен сказать, что я не мог найти журналы с ошибками. Может быть, я не знаю, где их найти?

Так,

  1. Что я делаю неправильно в Powershell скрипт?
  2. Какова наилучшая практика для создания проекта с использованием devenv.exe на сервере сборки TFS?

PS Мы используем TFS 15 RC1 (версия 15.103.25603.0).

+0

Почему вы используете Devenv вместо MSBuild? –

+0

@ just.ru Мне нужно построить проект SSAS - .dwproj. MSBuild не может этого сделать. = ( – Nick

+0

Какой сборник вы используете? Старая сборка XAML или новая сборка vNext? –

ответ

0

Я обнаружил, что он работает не только, когда агент работает как служба. Когда я начал агент в интерактивном режиме, мои задачи начали работать правильно. Зачем? - Я не знаю.

0

На данный момент эта встроенная функция не поддерживается непосредственно с помощью devenv.exe в задаче сборки vNext. Но, похоже, будет приходить в ближайшем будущем:

Это не то, что мы работаем прямо сейчас, но это то, что мы бы запрос тянуть за.

chrisrpatterson прокомментировал 8 января

Мы хотим, чтобы вход на существующей Visual Studio Построение задачи, которая говорит использование Devenv (по умолчанию ложь). Если true, то он принимает путь к варианту , код которого аналогичен приведенному выше.

bryanmacfarlane прокомментировал 22 января

Источника из GitHub:

Вы можете попробовать использовать pull request обеспечивает jmacnett который создавая задачу настройки сборки.

+0

Спасибо за ваш ответ. Хорошо, прямо devenv не поддерживается. используйте задачу Powershell и пакетную задачу для запуска файла devenv.exe. Насколько я могу видеть, что devenv запущен и что-то делает, но файлы в папке bin не обновляются ... – Nick

+0

Можете ли вы попробовать добавить цель копирования папка/bin при поиске файлов DLL? Что-то, что вручную копировать, чтобы решить проблему? –

0
$argumentList = ("`"$solnPath`" /$solnCmdSwitch $solnConfigName") 

если проект затем добавить folowing

$argumentList += (" /project `"$projPath`" /projectconfig $projConfigName") 

Смотрите дополнительные обратные кавычки