aquí está la escena:
Usamos Visual Studio Online y un servidor de compilación local en la red de nuestra empresa con TFS 2013 para compilar nuestra solución después de los registros y lanzamientos controlados.
Ahora actualizamos de Visual Studio 2013 a Visual Studio 2015 Enterprise y actualizamos a la nueva versión de .NET. Estábamos realmente ansiosos por hacer uso de las nuevas funciones de C# 6, pero después del primer registro notamos que la compilación falló.
(Lo siento, no hay imagen aquí porque tengo una falta de reputación)
Mensaje de excepción: el error 1 de MSBuild finalizó esta compilación. Puede encontrar información más específica sobre la causa de este error en los mensajes anteriores. (escriba BuildProcessTerminateException) Rastreo de pila de excepciones: en System.Activities.Statements.Throw.Execute(CodeActivityContext context) en System.Activities.CodeActivity.InternalExecute(Instancia de ActivityInstance, ejecutor de ActivityExecutor, BookmarkManager bookmarkManager) en System.Activities.Runtime.ActivityExecutor.ExecuteActivityWorkItem .ExecuteBody(ActivityExecutor ejecutor, BookmarkManager bookmarkManager, Location resultLocation) ApplicationManager.cs (33, 0) Carácter inesperado '$' ApplicationManager.cs (33, 0) ; esperado
Parece que el agente de compilación no comprende la nueva sintaxis y aún compila con la versión anterior.
Lo que hice para solucionarlo fue:
Instale Visual Studio 2015 en el servidor de compilación local (la versión anterior de Visual Studio 2013 todavía está instalada)
Reiniciado el controlador de compilación
Seguí los pasos aquí: https://stackoverflow.com/a/28327275/4919063
Que básicamente es instalar Visual Studio 2015 y las nuevas Microsoft Build Tools
Creé una nueva definición de compilación con una de las plantillas.
Creó un nuevo grupo de agentes a través del acceso web para Visual Studio Online. descargado
el ConfigureAgent.ps1 y lo ejecutó en el servidor de compilación para crear un nuevo
agente. Pero no pude averiguar cómo hacer uso del agente recién creado.
Mi pregunta es: ¿Cómo puedo actualizar los agentes de compilación para que se ejecuten sin fallas en
con respecto a la nueva versión de .NET?
¿Sospecho que todavía está ejecutando el agente de compilación de 2013? En ese caso, abra su plantilla de proceso de compilación y busque la tarea "Ejecutar Msbuild para proyecto". Establezca la propiedad ToolPath en la ubicación donde está instalado su MsBuild v14. Defecto:
C:\Program Files (x86)\MSBuild\14.0\BinEso debería permitirle usar los elementos de sintaxis de C# 6.
Elimine los pasos de esta publicación eliminando los paquetes nuget de Roslyn, el paquete NuGet ya no es necesario ahora que Visual Studio 2015 es RTM. El mismo paquete ya no es compatible con VS2013.
El nuevo agente de compilación de TFS 2015 que descargó no se comunica con TFS 2013, ni tampoco lo hace un agente de compilación XAML de TFS 2015. Siempre que su servidor esté ejecutando TFS 2013, estará atascado usando TFS Build 2010 hasta 2013 inclusive.
Al conectarse a VSO, debería poder usar el nuevo agente de compilación de 2015 . Pero debe crear una nueva definición de compilación mediante la interfaz web. No puede usar su definición de compilación XAML existente con el nuevo agente de compilación.
También puede instalar el agente XAML de TFS 2015. Para instalarlo, instale TFS 2015 en el servidor de compilación y solo ejecute los pasos para configurar el agente de compilación XAML . Esto eliminará el servidor de compilación TFS 2013 de su máquina.
No puedo configurar la propiedad toolPath porque "Ejecutar Msbuild para el proyecto" se reemplaza por una actividad más abstracta "Ejecutar MSBuild" en mi "TfvcTemplate.12.xaml" usado. Creo que vino con TFS 2013 Update 4.
Instalé VS 2015 en BuildMachine.
Y cambié las compilaciones agregando el parámetro /tv:14.0 como argumento de MSBuild (en Build-Definition\Process\2.Build\5.Advanced\MSBuild arguments)
Esto funcionó para mí. Ver respuesta de marson