c# visual-studio-2015 tfsbuild tfs2013

Actualizar Build Controller/Agents para compilar la aplicación C#6/.NET 4.6



visual-studio-2015 tfsbuild (2)

Aquí está la escena:

Usamos Visual Studio Online y un servidor de compilación en las instalaciones de nuestra red de la empresa con TFS 2013 para construir nuestra solución después de registros y lanzamientos cerrados.

Ahora hemos actualizado de Visual Studio 2013 a Visual Studio 2015 Enterprise y hemos actualizado a la nueva versión .NET. Estamos muy ansiosos por hacer uso de las nuevas características de C # 6, pero después del primer check-in experimentamos que la compilación falló.

(Lo siento, no hay imagen aquí ya que tengo una falta de reputación)

Mensaje de excepción: MSBuild error 1 ha finalizado esta compilación. Puede encontrar información más específica sobre la causa de este error en los mensajes anteriores. (tipo BuildProcessTerminateException) Rastreo de la pila de excepciones: en System.Activities.Statements.Throw.Execute (contexto CodeActivityContext) en System.Activities.CodeActivity. .ExecuteBody (ActivityExecutor executor, BookmarkManager bookmarkManager, Location resultLocation) ApplicationManager.cs (33, 0) Carácter inesperado ''$'' ApplicationManager.cs (33, 0); esperado

Parece que el agente de compilación no entiende la nueva sintaxis y aún compila con la versión anterior.

Lo que hice para arreglarlo fue:

  • Instale Visual Studio 2015 en el servidor de compilación local (la versión anterior de Visual Studio 2013 todavía está instalada)

  • Reinició el controlador de compilación

  • Siguió los pasos aquí: https://stackoverflow.com/a/28327275/4919063

Que básicamente es la instalación de Visual Studio 2015 y las nuevas herramientas de compilación de Microsoft

  • Y los pasos here que eran muy prometedores:

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

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 errores en

¿Respecto a la nueva versión .NET?


No puedo establecer la propiedad toolPath porque "Ejecutar Msbuild para el proyecto" se reemplaza por una actividad más abstracta "Ejecutar MSBuild" en mi "TfvcTemplate.12.xaml" usada. Creo que vino con la actualización 4 de TFS 2013.

Instalé VS 2015 en el 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 argumentos)

Esto funcionó para mí. Ver respuesta de marson


Sospecho que todavía estás ejecutando el agente de compilación 2013? En ese caso, abra la 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 v14 MsBuild. Defecto:

C:/Program Files (x86)/MSBuild/14.0/Bin

Eso debería permitirte usar los elementos de sintaxis de C # 6.

Elimine https://.com/a/28327275/4919063 mediante la eliminación de los paquetes nuget de Roslyn; ya no se necesita el paquete NuGet ahora que Visual Studio 2015 es RTM. El mismo paquete ya no es compatible con VS2013.

El nuevo agente de compilación TFS 2015 que descargó no habla con TFS 2013, ni tampoco un agente de compilación TFS 2015 XAML. Siempre que su servidor ejecute TFS 2013, estará bloqueado con TFS Build 2010 hasta 2013 inclusive.

Al conectarse a VSO, debe poder usar el nuevo agente de compilación 2015 . Pero necesita crear una nueva definición de compilación utilizando la interfaz web. No puede usar su definición de compilación XAML con el nuevo agente de compilación.

También puede instalar el agente TFS 2015 XAML. 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.