2016-07-15 4 views
2

Я пытаюсь создать собственный сервер сборки для Visual Studio Team Services в Azure. Я установил агент сборки и Visual Studio Express на виртуальной машине, которая работает и подключена к моему проекту на visualstudio.com в качестве агента сборки в пуле «Default».Сервер сборки Visual Studio Team Services в Azure

Однако, когда я попытался запустить сборку я получил следующее сообщение об ошибке:

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 I, указанной выше, я также пытался добавить эту папку к системе PATH, но это не имеет значения.

Как настроить рабочий агент в Azure?

+0

Что вы установили версию Visual Studio? Один до VS 2015? Или вы установили версию Community Edition 2015 года? –

ответ

1

У Visual Studio Express нет инструментов для тестирования. Установите сообщество Visual Studio (если вы имеете право на участие в Сообществе на основе условий лицензирования) или версию Visual Studio (профессиональная/корпоративная), для которой вы или ваша организация лицензированы.

0

Вы хотите установить Visual Studio на свой сервер сборки. В этот момент агент сборки распознает доступные возможности, такие как msbuild, visualstudio, and vstest.

0

I found a solution, вам просто нужно убедить вашу машину сборки, что на самом деле у нее установлен VS. По этой ссылке:

What worked for me was to create the following registry key: HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\VisualStudio\14.0

and within that key, create a new value of type string with name ShellFolder and value C:\Program Files (x86)\Microsoft Visual Studio 14.0.

Hope it helps

1

В TFS сборки журналов испытываемых Ассамблей я вижу ошибку:

System.Management.Automation.CmdletInvocationException: Unable to determine the location of vstest.console.exe

Я VSTest набора в Visual Studio 2015, я использую VS/TFS2017 поэтому переключение на Последний решить эту проблему:

enter image description here