Ich habe eine TeamCity-Installation auf einem x32 Server2008-Windows-Computer. Ich habe die .net 4.5-Webinstallation ausgeführt. Ich habe auch die Dateien von meinem x64-Computer basierend auf diesem Artikel kopiert, sodass ich vs2012 nicht installieren musste (obwohl ich den Pfad zum Entfernen von x86 auf dem 32-Bit-Computer geändert hatte):
MSBuild in TeamCity der Visual Studio 2012-Lösung
Ich kann den lokalen Agenten anscheinend nicht dazu bringen, den Build auszuführen, den ich für msbuild in einem vs2012- oder vs2010-Projekt eingerichtet habe. Ich bekomme immer:
Nicht erfüllte Anforderungen: MSBuildTools12.0_x86_Path ist vorhanden
Ich habe den Server mehrmals neu gestartet und auch den Agenten neu gestartet. Ich habe versucht, ein wenig mit den Pfadvariablen herumzuspielen, kann aber nicht herausfinden, was mir fehlt. Ich habe auch in den Konfigurationsparametern nachgesehen und kann diese sehen:
MSBuildTools2.0_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727
MSBuildTools3.5_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v3.5
MSBuildTools4.0_x86_Path C: \ Windows \ Microsoft.NET \ Framework \ v4.0.30319
Wie bekomme ich dort 12.0?
quelle
Antworten:
Ich musste MSBuild separat installieren, dann war die Variable nach dem Neustart des Agenten dort.
(Aus dem MSDN-Artikel) MSBuild wird jetzt als Teil von Visual Studio und nicht mehr als Teil von .NET Framework installiert. Die aktuelle MSBuild-Versionsnummer ist 12.0. Wenn Sie MSBuild separat installieren möchten, laden Sie das Installationspaket von MSBuild Download herunter.
Bearbeiten: Der Antwortlink war defekt. Hier ist der Link für Microsoft Build Tools 2015 (zuletzt bis heute): https://www.microsoft.com/en-us/download/details.aspx?id=48159
quelle
Eine etwas späte Antwort, aber wenn Ihr Projekt aus VS 2012 stammt und Sie den Schritt zum Erstellen einer automatisch erkannten Lösungsdatei verwenden, können Sie dieses Problem beheben, indem Sie diesen Schritt bearbeiten und "Microsoft Visual Studio 2012" aus der Dropdown-Liste "Visual Studio" auswählen auch (und meiner Meinung nach korrekter).
quelle
Ich hatte das gleiche Problem und am Ende stellte sich heraus, dass mein definierter Build-Schritt zum Ausführen von MSBuild falsch konfiguriert war.
In meinem MSBuild-Erstellungsschritt wurde die Einstellung "MSBuild ToolsVersion" auf 12.0 (Standard) gesetzt, was zu dem Fehler "Nicht erfüllte Anforderungen: MSBuildTools12.0_x86_Path existiert" auf meinem System führte. Da ich das neue MSBuild 12.0 nicht benötige, um meinen Build auszuführen, habe ich diese Einstellung in meinem Build-Schritt auf 4.0 geändert. Diese MSBuild-Version ist korrekt auf meinem System installiert. Dies löste das Problem für mich.
quelle
Ich bin auch ein bisschen zu spät zur Party, aber ich dachte, ich würde Folgendes teilen, falls es einer armen Seele da draußen hilft.
quelle
MSBuild ist jetzt Teil von Visual Studio. Wenn Sie die Build-Tools auf Ihrem Agenten installieren müssen, VS jedoch nicht installieren möchten, müssen Sie die neuen Microsoft Build Tools installieren, die unter http://www.microsoft.com/en-us/download/ verfügbar sind. details.aspx? id = 40760 .
quelle
In meinem Fall hat nur eine separate Installation von MSBuild für VS2013 geholfen. (Hier ist der Link - https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760 ) Dieser Ordner wurde erstellt. Die
C:\Program Files (x86)\MSBuild\12.0
Installation der MSBuild-Tools für VS2015 hatC:\Program Files (x86)\MSBuild\14.0
diesen Ordner erstellt, und TC wollte dies nicht benutze es.quelle
Ich hatte dieses Problem auf meinem sekundären Build-Agenten.
Ich hatte den MSBuild-Ordner vom primären Build-Agent-PC auf den sekundären Build-Agent-PC kopiert (wie bei einigen Visual Studio-Dateien, wie hier beschrieben: MSBuild in TeamCity der Visual Studio 2012-Lösung ), anstatt MSBuild zu installieren.
Es scheint jedoch, dass die TeamCity-Agentendienste die Registrierung beim Start auf MSBuild-Einträge überprüfen (dies scheint bei den oben genannten Visual Studio-Dateien nicht der Fall zu sein). Da ich die Dateien einfach vom anderen PC kopiert hatte, war kein MSBuild-Eintrag für Version 12.0 vorhanden, sodass TeamCity die MSBuild-Dateien nicht erkannte, obwohl sie im Ordner Programme (x86) \ MSBuild vorhanden waren.
Als ich die Microsoft Build Tools über den obigen Link http://www.microsoft.com/en-us/download/details.aspx?id=40760 installierte, fand TeamCity den Eintrag v. 12.0 in der Registrierung und der Agent konnte Erstellen Sie dieselben Projekte wie der primäre Agent.
Denken Sie daran, den TeamCity-Agentendienst nach der Installation von MS Build Tools neu zu starten.
quelle
In meinem Fall habe ich TeamCity Professional 2018.1 unter Windows 2016 Server. Ich habe Build Tools für Visual Studio 2017 von hier heruntergeladen : https://visualstudio.microsoft.com/downloads/ und alle Optionen für Build Tools ausgewählt. Nach der Installation habe ich MSBuild zur globalen Umgebungsvariablen PATH hinzugefügt. C: \ Programme (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin in meinem Fall.
quelle
In meinem Fall war es eine neue Maschine ohne Visual Studio und ich habe gerade Teamcity von einer anderen Maschine wiederhergestellt. Also habe ich Visual Studio 2013 installiert und das Problem mit dem Teamcity-Agenten gelöst.
quelle
Wie oben erwähnt, wird der automatisch erkannte Erstellungsschritt wahrscheinlich in der falschen Visual Studio-Version aufgenommen. Ändern Sie es mithilfe der Dropdown-Liste " Visual Studio " im Abschnitt " Build-Schritte " auf der Seite " Build-Konfigurationseinstellungen ":
quelle
Ich schien dieses Problem zu lösen, indem ich in die Registrierung ging und alle Einträge für MSBuild löschte, die nicht für Version 12 waren, und dann den Agenten neu startete.
Gehen Sie dazu zu Start> Ausführen und geben Sie Regedit ein
Navigieren Sie dann zur Taste:
HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild
Löschen Sie alle Versionen außer 12.0.
Gehen Sie die nächste Ebene zu ToolsVersions und löschen Sie dort die Nicht-12.0-Versionen.
quelle