Fehler 'Es wurde kein Agent mit den folgenden Funktionen gefunden: msbuild, visualstudio, vstest'

70

Ich richte mit TFS 2015 einen neuen Build-Server ein. Nachdem ich den Agenten konfiguriert habe, wurde beim Versuch, einen Build in die Warteschlange zu stellen, folgende Fehlermeldung angezeigt:

Es konnte kein Agent mit den folgenden Funktionen gefunden werden: msbuild, visualstudio, vstest

Wie kann das gelöst werden?

Jean Jimenez
quelle

Antworten:

55

Installieren Sie Visual Studio auf Ihrem Build-Agenten und starten Sie den Build-Agenten neu. Durch einen Neustart des Build-Agenten werden die hinzugefügten Funktionen erfasst.

Daniel Mann
quelle
5
Es funktioniert, aber ich würde gerne wissen, ob es keine andere Problemumgehung gibt, um die Installation von Visual Studio auf dem Entwicklungsserver zu vermeiden. Vielen Dank
Jean Jimenez
6
Nein. Es gibt keinen Grund, Visual Studio nicht auf Ihrem Build-Server zu installieren. Es ist nicht in den Lizenzkosten enthalten.
Daniel Mann
6
Ich bin damit einverstanden, dass VS nicht in den "offiziellen TFS-Build-Bereitstellungsvoraussetzungen" enthalten ist, aber wenn man sich die kleinen Zeilen ansieht, ist es tatsächlich ... Es ist ärgerlich ... msdn.microsoft.com/en-us/ Bibliothek /…
rducom
3
Bietet die Community Edition Ihrer Kenntnis nach die erforderlichen Voraussetzungen für eine Build Server-Konfiguration?
InteXX
17
Um dies hinzuzufügen, stellte ich fest, dass der schnellste Weg zum "Aktualisieren" der Builds nach der Installation neuer Funktionen auf Ihren Build-Agent-Servern darin besteht, zum Agent-Pools-Hub im Admin-Bereich (<Ihr TFS-Server> / tfs / _admin /) zu wechseln _AgentPool? HubGroupId = ms.vss-web.account-admin-hub-group), wählen Sie den Pool aus, in dem sich Ihre Agenten befinden, und klicken Sie mit der rechten Maustaste auf "Alle Agenten aktualisieren".
Dewi Rees
28

Hinweis: Zunächst können Sie dies alles mit der Community Edition und TFS Express 2015 auf Ihrem eigenen Server tun (kostenlos bis zu fünf Benutzer). Machen Sie sich also keine Sorgen, dass Sie die Visual Studio-Onlineversion verwenden oder für Visual bezahlen müssen Studio Professional.


Es ist sehr leicht, die bereitgestellte Fehlermeldung falsch zu interpretieren und eine wilde Gänsejagd zu starten, um sie zu debuggen.

Leider ist die Nachricht selbst nur schlecht formuliert und das ist das eigentliche Problem.

Folgendes bedeutet diese Fehlermeldung wirklich :

"Mit den folgenden Funktionen konnte kein Agent gefunden werden: msbuild, visualstudio, vstest. Tatsächlich habe ich keine Build-Agenten gefunden, die für die ausgewählte Build-Warteschlange konfiguriert sind."

Sie denken also, dass dies nicht auf Sie zutrifft, weil Sie gerade einen Build-Agenten erstellt haben?

Nun, vielleicht haben Sie es getan, aber hier ist, was wahrscheinlich passiert ist:

  • Sie haben einen neuen Pool erstellt (aus keinem anderen Grund, als Sie gedacht haben).
  • Sie haben dann eine Warteschlange unter diesem Pool erstellt.
  • Sie haben das PowerShell-Skript ausgeführt, um einen Agenten zu erstellen, und Sie haben angenommen, dass es in den soeben erstellten Pool gestellt wurde .
  • Aber es hat nicht - es hat es in den 'Standard'-Pool gestellt, den Sie nicht einmal verwenden ...

Aha! Folgendes passiert also beim Bauen:

  • Sie wählen eine Warteschlange aus der Dropdown-Liste aus.
  • TFS versucht zu erstellen, indem es nach dem Pool sucht, der dieser Warteschlange entspricht, und findet dort überhaupt keine Agenten, sodass Sie eine dumme, nutzlose Red-Herring-Fehlermeldung erhalten.

Als ich endlich merkte, was passiert war, löschte ich einfach meinen niedlich benannten Pool + Warteschlange und benutzte wieder den Standardpool.

Das nächste Mal werde ich versuchen, dieser Meldung während der PowerShell-Konfiguration mehr Aufmerksamkeit zu schenken:

Konfigurieren Sie diesen Agenten für welchen Agentenpool? (Standardpoolname ist 'Standard')

Sie müssen eine Warteschlange unter dem Pool erstellen, aber dann sollte Ihr Agent mit der Arbeit beginnen.

Wenn Sie eine echte Person mit einer bestimmten Funktion haben, die in Ihrem Agenten nicht vorhanden ist, können Sie auf der hier gezeigten Registerkarte "Funktionen" überprüfen, was Ihr Agent unterstützt. Natürlich msbuild, visualstudio and vstestsind alle hier :-)

Geben Sie hier die Bildbeschreibung ein

Simon_Weaver
quelle
Der letzte Screenshot in dieser Antwort war genau das, wonach ich gesucht habe.
Fujiiface
8

Wenn Sie das neue Build-System unter VSO verwenden, wird standardmäßig nicht die gehostete Build-Option ausgewählt. So bin ich zu diesem Beitrag in Stack Overflow gekommen. Wenn Sie es gewohnt sind, einen VSO-Buildserver zu verwenden, müssen Sie Folgendes tun:

Erstellen Sie einen gehosteten Build, indem Sie zur Registerkarte Allgemein wechseln und Ihre Standardwarteschlange in gehostet ändern. Weitere Informationen zu den Einschränkungen und zur Funktionsweise finden Sie hier: https://www.visualstudio.com/get-started/build/hosted-agent-pool

Irhetorik
quelle
1
Danke, genau das musste ich tun.
Mido
Wenn Sie Ihr eigenes TFS (einschließlich TFS Express 2015) ausführen, geraten Sie nicht in Panik, wenn Sie keine gehostete Build-Option sehen. Sie können einfach die Standardeinstellung verwenden
Simon_Weaver
8

In meinem Fall musste ich nach der Installation von MSBuild ( https://www.visualstudio.com/downloads/ , Suche nach "Build Tools für Visual Studio 2017") nur den Pfad zu MSBuild zur Umgebungsvariablen PATH hinzufügen. Der Agent hat MSBuild erst erkannt, als ich das getan habe.

C:\Program Files (x86)\Microsoft Visual Studio\2017\BuildTools\MSBuild\15.0\Bin

Ich musste NICHT die vollständige Visual Studio-IDE installieren. Die ausgewählte Antwort auf diese Frage ist einfach falsch ...

computrius
quelle
3
Ich habe die etwas späteren "Build Tools für Visual Studio 2019" verwendet und den Pfad, den ich hinzufügen musste, war : C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\MSBuild\Current\Bin. Ja, Sie benötigen nicht das vollständige Visual Studio. Danke für den Tipp.
Brian Cryer
0

Ich hatte dieses Problem und es stellte sich heraus, dass mein Veröffentlichungsprozess den "falschen" Agenten ausgewählt hatte. Bearbeiten Sie einfach die Version und stellen Sie die richtige Agentenwarteschlange ein

Geben Sie hier die Bildbeschreibung ein

Eric Herlitz
quelle
0

Ich habe einen Xcode-Build-Slave zum Erstellen eines Xcode-Projekts verwendet.

Und die Fehlermeldung, die ich in TFS 2015 erhalten habe, war

"Es konnte kein Agent mit den folgenden Funktionen gefunden werden: xcode"

Ich habe einen lokalen OS X-Build-Slave registriert .

Im Schritt "Agent registrieren" habe ich vom Build-Agenten Folgendes benannt:

>> Register Agent:

Enter agent pool (press enter for default) > My-Xcode-Agent-Pool

Daher musste ich in den Build-Einstellungen den "My-Xcode-Agent-Pool" als Standardwarteschlange auswählen. Quelle: Von Microsoft gehostete Agenten

Leviathan
quelle
0

Obwohl keine der vorherigen Antworten für mich funktioniert hat, hat mich der Beitrag von Simon_Weaver in die richtige Richtung gelenkt .

Er erwähnte, dass vstest auf seiner Liste stand, aber nicht auf meiner. Ich habe das Problem behoben, indem ich unter Visual Studio 2017 eine benutzerdefinierte Funktion namens "vstest" mit dem vollständigen Pfad zu vstest.console.exe hinzugefügt habe.

Tom Faust
quelle
0

Sie müssen die entsprechende Visual Studio-Version auf dem Buildcomputer installieren (auf dem Sie Ihren Agenten installiert haben). Dadurch werden dem Server die erforderlichen Tools und Funktionen hinzugefügt.

Visual Studio ist erforderlich, da alle zum Erstellen Ihrer Projekte erforderlichen Erstellungsziele installiert werden.

Nach der Installation müssen Sie den Windows-Agentendienst neu starten, damit die Liste der Funktionen aktualisiert wird.

Da Sie die Visual Studio-Installation auf dem Buildcomputer zum Erstellen verwenden, zählt diese Installation nicht als zusätzliche Lizenz.

Rodrigo Werlang
quelle
0

Was für mich letztendlich funktioniert hat, war, dorthin zu gehen, wo ich den Agenten heruntergeladen und ausgeführt habe:

./config.cmd dann entfernen ./config.cmd , um den Agenten über die Befehlszeile im Verzeichnis meines Agenten neu zu installieren.

Agent herunterladen

Jesse
quelle
0

per Microsoft https://msdn.microsoft.com/en-us/ie/bb399135(v=vs.94)

Sie müssen auf dem Build-Agenten die Version von Visual Studio installieren, die Ihr Team auf seinen Entwicklungscomputern verwendet. Siehe Installieren von Visual Studio. Sie müssen auch alle andere Software und Komponenten installieren, die auf Ihren Entwicklungscomputern installiert sind und zum Erstellen Ihrer App erforderlich sind.

Daryl
quelle
0

In meinem Fall starten Sie nach der Installation von MSBuild alle Azure-Dienste (im Windows-Dienst) neu und es hat funktioniert. Sie müssen Visual Studio nicht vollständig installieren

Hoang Tran
quelle
-2

Allgemeine Lösung für TFS:

Die gängige Methode zur Lösung der meisten Probleme auf dem Build-Server besteht darin, Visual Studio und alle abhängigen Pakete auf Ihrem Build-Server zu installieren.

Alternative Lösung bei Verwendung von VSTS

Wenn Sie auswählen, wo erstellt werden soll, verwenden Sie "Hosted". Der Build funktioniert dann.

Die Anleitung zur Funktionsweise finden Sie hier: Stellen Sie einen Agenten unter Windows für TFS 2015 bereit

Überprüfen Sie den Agentenabschnitt, der Informationen zu Funktionen enthält.

Aktualisiert:

Sobald Sie die Liste der Funktionen in vsts (azuredevops) haben, müssen Sie möglicherweise die gewünschte Software auf Ihrem Build Agent-Computer installieren.

PS Beachten Sie, dass Sie Ihren sw bei Bedarf möglicherweise lizenzieren müssen.

cpoDesign
quelle
OP fragt nicht nach gehosteten Agenten, sondern möchte einen neuen Build-Agenten konfigurieren.
Ssloan
Ich fand diese Antwort, als ich versuchte, Informationen darüber zu finden, warum die Option 'Standard' für Node /
Npm-