Я пытаюсь создать собственный сервер сборки для Visual Studio Team Services в Azure. Я установил агент сборки и Visual Studio Express на виртуальную машину, которая работает и подключена к моему проекту на visualstudio.com в качестве агента сборки в пуле «По умолчанию».
Однако, когда я попытался запустить сборку, я получил следующую ошибку:
No agent found in pool 1 which satisfies the specified demands:
msbuild
visualstudio
vstest
Agent.Version -gtVersion 1.98.1
MSBuild уже был в списке возможностей на сайте visualstudio.com, но не в двух других, поэтому я покопался в C:\Program Files (x86)
и добавил в список эти две возможности:
vstest: C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow
visualstudio: C:\Program Files (x86)\Microsoft Visual Studio 14.0
По крайней мере, сборка запускается, но я получаю еще одну ошибку на этапе «Тестовые сборки». Я думаю, что наиболее важной частью сообщения об ошибке является Unable to determine the location of vstest.console.exe
, во всяком случае, здесь оно полностью:
System.Management.Automation.CmdletInvocationException: Unable to determine the location of vstest.console.exe ---> System.IO.FileNotFoundException: Unable to determine the location of vstest.console.exe
at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeVSTestCmdlet.GetVsTestLocation()
at Microsoft.TeamFoundation.DistributedTask.Task.Internal.PowerShell.InvokeVSTestCmdlet.ProcessRecord()
at System.Management.Automation.CommandProcessor.ProcessRecord()
--- End of inner exception stack trace ---
at System.Management.Automation.Runspaces.PipelineBase.Invoke(IEnumerable input)
at System.Management.Automation.PowerShell.Worker.ConstructPipelineAndDoWork(Runspace rs, Boolean performSyncInvoke)
at System.Management.Automation.PowerShell.Worker.CreateRunspaceIfNeededAndDoWork(Runspace rsToUse, Boolean isSync)
at System.Management.Automation.PowerShell.CoreInvokeHelper[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
at System.Management.Automation.PowerShell.CoreInvoke[TInput,TOutput](PSDataCollection`1 input, PSDataCollection`1 output, PSInvocationSettings settings)
at Microsoft.TeamFoundation.DistributedTask.Handlers.PowerShellHandler.Execute(ITaskContext context, CancellationToken cancellationToken, Int32 timeoutInMinutes)
at Microsoft.TeamFoundation.DistributedTask.Worker.JobRunner.RunTask(ITaskContext context, TaskWrapper task, CancellationTokenSource tokenSource)
Я посмотрел, и vstest.console.exe
находится в папке vstest
, которую я указал выше, я также пытался добавить эту папку в систему PATH
, но это не имеет значения.
Как настроить работающий агент сборки в Azure?