2016-07-15 9 views
2

Ich versuche, einen benutzerdefinierten Build-Server für Visual Studio Team Services in Azure zu erstellen. Ich habe den Build-Agent und Visual Studio Express auf einer virtuellen Maschine installiert, die auf meinem Visual Studio.com-Projekt als Build-Agent im Pool "Standard" ausgeführt wird und mit meinem Projekt verbunden ist.Build-Server von Visual Studio Team Services in Azure

aber als ich versuchte, einen Build ausführen bekam ich folgende Fehlermeldung:

No agent found in pool 1 which satisfies the specified demands: 
msbuild 
visualstudio 
vstest 
Agent.Version -gtVersion 1.98.1 

MSBuild war bereits in der Liste der Funktionen auf visualstudio.com aber nicht die beiden anderen, so grub ich durch C:\Program Files (x86) und fügte hinzu, diese beiden Funktionen in die Liste:

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 

der Build dann zumindest läuft, aber ich noch einen Fehler bei dem „Test Assemblies“ Schritt erhalten. Ich denke, der wichtigste Teil der Fehlermeldung ist Unable to determine the location of vstest.console.exe, hier ist es in voller trotzdem:

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) 

Ich habe gesucht und vstest.console.exe ist im vstest Ordner ich oben angegeben, ich habe auch versucht, diesen Ordner hinzugefügt zum System PATH aber das macht keinen Unterschied.

Wie kann ich einen funktionierenden Build-Agent in Azure einrichten?

+0

Welche Version von Visual Studio haben Sie installiert? Eine vor VS 2015? Oder haben Sie die Community Edition von 2015 installiert? –

Antwort

1

Visual Studio Express verfügt nicht über die Testtools. Installieren Sie die Visual Studio Community (vorausgesetzt, Sie qualifizieren sich aufgrund der Lizenzbedingungen für die Community) oder eine Visual Studio-Edition (Professional/Enterprise), für die Sie oder Ihre Organisation lizenziert sind.

0

Sie möchten Visual Studio auf Ihrem Build-Server installieren. Zu diesem Zeitpunkt erkennt der Erstellungsagent die verfügbaren Funktionen wie msbuild, visualstudio, and vstest.

0

I found a solution, Sie müssen nur Ihre Build-Maschine davon überzeugen, dass es tatsächlich VS installiert hat. Aus dem Link:

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

In TFS Logs unter Test Baugruppen Erstellen sehe ich den Fehler:

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

ich als Visual Studio 2015 VSTest gesetzt hatte, ich bin mit VS/TFS2017 Schalt so Neueste das Problem gelöst:

enter image description here