TFS 2013 construyendo .NET 4.6 / C # 6.0

Utilizamos TFS 2013 como nuestro servidor de comstackción. Comencé un proyecto de C # 6.0 y estoy intentando que se construya. Estoy usando los nuevos operadores nulos condicionales y mis ataques de comstackción. Intenté instalar varias cosas en el servidor TFS, incluido el paquete de orientación y VS 2015. Intenté proporcionar /tv:14.0 a los argumentos de MSBuild.

Configuración \ EntityEntityConfig.cs (270): término de expresión no válido ‘.’
Configuración \ EntityEntityConfig.cs (283): término de expresión no válido ‘.’
Configuración \ EntityEntityConfig.cs (283): error de syntax, ‘:’ esperado
… etc.

En este punto, no tengo idea qué más probar. Cualquier sugerencia sería muy apreciada.

Las personas que usan TFS 2012 informaron haber tenido éxito al usar:

/tv:14.0 /p:GenerateBuildInfoConfigFile=false /p:VisualStudioVersion=14.0 

como argumentos para MSBuild. Tal vez esto funcione para usted, pero hasta ahora esto no funciona para mis agentes de comstackción TFS 2013.

Actualización: finalmente conseguí que esto funcionara en TFS 2013. Esto es lo que tenía que hacer:

  1. Instale VS 2015 o Microsoft Build Tools 2015 (tengo ambos).
  2. Edite mi comstackción para usar una plantilla de proceso de comstackción llamada TfvcTemplate.12.xaml . ¡Supongo que cualquier plantilla más nueva que esta hará, pero la DefaultTemplate.11.1.xaml definitivamente no funcionará!)
  3. Establecí los argumentos de MSBuild en /tv:14.0 . No tuve que usar los otros dos que mencioné anteriormente.

Parece que el argumento del comando /tv:14.0 no funciona como se esperaba. Ver: BuildActivity ignora ToolsVersion

Como solución alternativa, debe personalizar la plantilla de proceso de comstackción:

  1. Abra la plantilla en Visual Studio y busque la actividad Ejecutar MSBuild para Project MSBuild.
  2. Establezca ToolVersion en “14.0”.
  3. Establezca ToolPath para dirigirse a MSBuild14 (de forma predeterminada: “C: \ Archivos de progtwig (x86) \ MSBuild \ 14.0 \ Bin”).
  4. Compruebe en esta plantilla de proceso de comstackción y vuelva a poner en cola la comstackción.

Si elige instalar VS 2015 en la máquina de comstackción, hay un paso importante: abrirlo para el primer uso y asegurarse de que tenga licencia. De lo contrario, continuarás experimentando fallas de comstackción.

Si ejecuta DefaultTempalte.11.1.xaml, busque la actividad msbuild (hay 2 en esta plantilla y su etiqueta es “Ejecutar MSBuild for Project”) y cambie la propiedad ToolPath por la ruta del conjunto de herramientas msbuild (para mí eso fue ” C: \ Archivos de progtwig (x86) \ MSBuild \ 14.0 \ Bin “).

Nada más es necesario.

Si usa UpgradeTemplate.xml , simplemente cambie “Ejecutar TfsBuild para la carpeta de configuración”:

1. Configure ToolPath para que se dirija a MSBuild14 (de forma predeterminada: “C: \ Archivos de progtwig (x86) \ MSBuild \ 14.0 \ Bin”).

2.Verifique esta plantilla de proceso de comstackción y vuelva a poner en cola la comstackción.

¡Gracias!

El proceso de comstackción determina qué versión de herramientas de comstackción está utilizando. Una definición de comstackción vainilla utiliza la plantilla de proceso de comstackción “DefaultTemplate.11.1.xaml”, que está configurada para usar Build Tools 2013.

La manera más rápida de arreglar esto es simplemente cambiar a “TfvcTemplate.12.xaml”

Seleccionar plantilla

Si desea modificar la plantilla predeterminada, deberá verificarla desde $ / [Project] /BuildProcessTemplates/DefaultTemplate.11.1.xaml, luego edite los Arguments para configurar BuildProcessVersion

Editar versión del proceso de compilación