.net tfsbuild tfs2013 c#-6.0 .net-4.6

TFS 2013 construyendo.NET 4.6/C#6.0



tfsbuild tfs2013 (6)

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

La forma más rápida de solucionar esto es simplemente cambiar a "TfvcTemplate.12.xaml"

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

Usamos TFS 2013 como nuestro servidor de compilación. Comencé un proyecto de C # 6.0 y estoy tratando de que se compile. Estoy usando los nuevos operadores condicional nulo, y mis compilaciones se bloquean. 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.

Configuration / EntityEntityConfig.cs (270): término de expresión no válido ''.''
Configuration / EntityEntityConfig.cs (283): término de expresión no válido ''.''
Configuration / EntityEntityConfig.cs (283): error de sintaxis, '':'' esperado
... etc.

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


Las personas que usan TFS 2012 han reportado éxito usando:

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

como argumentos para MSBuild. Quizás esto podría funcionar para usted, pero hasta ahora no funciona para mis agentes de compilació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 ambas).
  2. Edite mi compilación para usar una plantilla de proceso de compilación llamada TfvcTemplate.12.xaml . Supongo que cualquier plantilla más nueva que esta funcionará, ¡pero DefaultTemplate.11.1.xaml definitivamente no funcionará!)
  3. Establezca 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 del proceso de compilación:

  1. Abra la plantilla en Visual Studio y busque la actividad Ejecutar MSBuild para Project MSBuild.
  2. Establezca ToolVersion en "14.0".
  3. Configure ToolPath para apuntar a MSBuild14 (por defecto: "C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin").
  4. Compruebe esta plantilla de proceso de compilación y vuelva a poner en cola la compilació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 a la ruta del conjunto de herramientas msbuild (para mí eso fue " C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin ").

Nada más es necesario.


Si elige instalar VS 2015 en la máquina de compilación, hay un paso importante: ábralo para el primer uso y asegúrese de que tenga licencia. De lo contrario, continuará experimentando fallas de compilación.


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

1. Configure ToolPath para apuntar a MSBuild14 (por defecto: "C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin").

2.Compruebe esta plantilla de proceso de compilación y vuelva a poner en cola la compilación.

¡Gracias!