Tengo una instalación de TeamCity en una máquina con Windows x32 Server2008. He ejecutado la instalación web de .net 4.5. También he copiado los archivos de mi máquina x64 según este artículo, por lo que no necesitaba instalar vs2012 (aunque sí tuve que cambiar la ruta para eliminar x86 en la máquina de 32 bits):
MSBuild en la solución TeamCity de Visual Studio 2012
Parece que no puedo hacer que el agente local ejecute la compilación que configuré para msbuild en un proyecto vs2012 o vs2010. Sigo recibiendo:
Requisitos no satisfechos: existe MSBuildTools12.0_x86_Path
Reinicié el servidor varias veces y también reinicié el agente. Intenté jugar un poco con las variables de ruta, pero no puedo entender qué me estoy perdiendo. También miré en los parámetros de configuración y puedo ver estos:
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
¿Cómo consigo 12.0 allí?
fuente
Respuestas:
Necesitaba instalar MSBuild por separado, luego, después de reiniciar el agente, la variable estaba allí.
(Del artículo de MSDN) MSBuild ahora se instala como parte de Visual Studio en lugar de como parte de .NET Framework. El número de versión actual de MSBuild es 12.0. Si desea instalar MSBuild por separado, descargue el paquete de instalación desde MSBuild Download.
editar: el enlace de respuesta estaba roto. Aquí está el enlace para Microsoft Build Tools 2015 (más recientemente hasta hoy): https://www.microsoft.com/en-us/download/details.aspx?id=48159
fuente
Una respuesta un poco tardía, pero si su proyecto es de VS 2012 y está utilizando el paso de compilación del archivo de solución detectado automáticamente, editar ese paso y elegir "Microsoft Visual Studio 2012" en el menú desplegable "Visual Studio" soluciona este problema. también (y, en mi humilde opinión, más correctamente).
fuente
Tuve el mismo problema y al final resultó que mi paso de compilación definido para ejecutar MSBuild estaba mal configurado.
En mi paso de compilación de MSBuild, la configuración "MSBuild ToolsVersion" se estableció en 12.0 (predeterminado), lo que condujo al error "Requisitos no cumplidos: MSBuildTools12.0_x86_Path existe" en mi sistema. Como no necesito el nuevo MSBuild 12.0 para ejecutar mi compilación, cambié esta configuración a 4.0 en mi paso de compilación. Esta versión de MSBuild está instalada correctamente en mi sistema. Esto me resolvió el problema.
fuente
También llego un poco tarde a la fiesta, pero pensé en compartir lo siguiente en caso de que ayude a algún pobrecito.
fuente
MSBuild ahora es parte de Visual Studio. Si necesita instalar las herramientas de compilación en su agente pero no desea instalar VS, deberá instalar las nuevas herramientas de compilación de Microsoft, que están disponibles en http://www.microsoft.com/en-us/download/ details.aspx? id = 40760 .
fuente
En mi caso, solo ayudó la instalación separada de MSBuild para VS2013. (aquí hay un enlace: https://www.microsoft.com/en-us/download/confirmation.aspx?id=40760 ) Creó esta carpeta La
C:\Program Files (x86)\MSBuild\12.0
instalación de las herramientas de MSBuild para VS2015 creóC:\Program Files (x86)\MSBuild\14.0
esta carpeta, y TC no quiso úselo.fuente
Tuve este problema en mi agente de compilación secundario.
Había copiado la carpeta MSBuild de la PC del agente de compilación principal a la PC del agente de compilación secundaria (como hice con algunos archivos de Visual Studio como se describe aquí: MSBuild en la solución TeamCity de Visual Studio 2012 ), en lugar de instalar MSBuild.
Sin embargo, parece que los servicios del agente de TeamCity comprueban el registro en busca de entradas de MSBuild cuando se inicia (no parece hacer esto con los archivos de Visual Studio que mencioné anteriormente). Como simplemente había copiado los archivos de la otra PC, no existía ninguna entrada de MSBuild para la versión 12.0, por lo que TeamCity no descubrió los archivos de MSBuild a pesar de que estaban presentes en la carpeta Archivos de programa (x86) \ MSBuild.
Cuando instalé Microsoft Build Tools desde el enlace anterior http://www.microsoft.com/en-us/download/details.aspx?id=40760 TeamCity encontró la entrada v. 12.0 en el registro y el agente pudo construya los mismos proyectos que el agente principal.
Recuerde reiniciar el servicio del agente de TeamCity después de instalar MS Build Tools.
fuente
En mi caso, tengo TeamCity Professional 2018.1 en Windows 2016 Server. Descargué Build Tools para Visual Studio 2017 desde aquí: https://visualstudio.microsoft.com/downloads/ y seleccioné todas las opciones para las herramientas de compilación. Después de la instalación, agregué MSBuild a la variable de entorno global PATH. C: \ Archivos de programa (x86) \ Microsoft Visual Studio \ 2017 \ BuildTools \ MSBuild \ 15.0 \ Bin en mi caso.
fuente
En mi caso, era una máquina nueva sin Visual Studio instalado y acabo de restaurar Teamcity desde otra máquina. Así que instalé Visual Studio 2013 y resolví el problema del agente de Teamcity.
fuente
Como se indicó anteriormente, el paso de compilación detectado automáticamente probablemente se haya detectado en una versión incorrecta de Visual Studio. Cámbielo usando el menú desplegable de Visual Studio en la sección Pasos de compilación en la página de configuración de configuración de compilación :
fuente
Me pareció que resolví este problema entrando en el registro y eliminando todas las entradas de MSBuild que no eran para la versión 12, luego reinicié el agente.
Para hacer eso, vaya a Inicio> Ejecutar y escriba Regedit
Luego navega hasta la tecla:
HKEY_LOCAL_MACHINE> SOFTWARE> Microsoft> MSBuild
Elimina todas las versiones excepto la 12.0.
Vaya al siguiente nivel a ToolsVersions y elimine las versiones que no sean 12.0 allí.
fuente