tfs - extraer - string c# ejemplos
TFS no compilará la sintaxis de interpolación de cadenas (3)
Desafortunadamente, no parece haber una manera fácil de hacer que las versiones anteriores de TFS funcionen con C # 6.0 sin instalar VS2015 en el servidor de compilación de TFS. Si puedes hacer eso, sugeriría eso. Si, por alguna razón, no puedes, entonces lo siguiente funcionó para mí:
Seguí las instrucciones de la otra respuesta, pero eso solo no funcionó. También tuve que editar la plantilla de proceso de construcción TFS predeterminada (que en mi caso se encuentra en $ // BuildProcessTemplates) y cambiar las propiedades de la ruta de herramienta de los nodos "Ejecutar MSBuild for Project" a la ubicación de MSBuild 14.0 (que generalmente es C: / Archivos de programa (x86) / MSBuild / 14.0 / Bin).
A continuación, deberá actualizar las definiciones de compilación para utilizar la nueva plantilla de compilación (si ha copiado / editado uno nuevo frente a la edición original).
En este punto, debería poder crear proyectos C # 6 con TFS, pero si también está intentando realizar un despliegue / empaquetado web, todavía hay algunos pasos más.
En el servidor de compilación, en C: / Archivos de programa (x86) / MSBuild / Microsoft / VisualStudio / v14.0, debería haber una carpeta Typescript y nada más. En su máquina local con VS2015, vaya al mismo camino. Debe haber una carpeta de aplicaciones Web y Web. Copie esos a la carpeta del servidor. Ahora debería poder empaquetar / implementar proyectos web también.
Actualicé a Visual Studio 2015 cuando se lanzó la semana pasada. Resharper sugirió que me gustaría actualizar la siguiente cadena usando string.Format
:
string filePath = HttpContext.Server.MapPath(string.Format("~/App_Data/{0}.xlsx", Guid.NewGuid()));
Para utilizar la interpolación de cadenas:
string filePath = HttpContext.Server.MapPath($"~/App_Data/{Guid.NewGuid()}.xlsx");
Hice esto, y todo está bien.
Sin embargo, he roto la compilación en TFS:
Controladores / MyController.cs (224): Carácter inesperado ''$''
Así que parece que las nuevas características en C # 6 no pueden ser compiladas por nuestra versión más antigua, no actualizada de TFS.
El proyecto aún está destinado a usar el Marco 4.5, sin embargo, no me he dirigido a 4.6. Supongo (erróneamente) que seguir apuntando al marco anterior significaría que podría ser creado por otros miembros del equipo que todavía usan VS2013 junto con nuestro servidor de compilación TFS.
Así que parece que nuestro TFS necesita una actualización de ... algo.
¿Qué necesito instalar en el servidor TFS para que compile esta nueva sintaxis? ¿La última versión de .NET Framework o algo más?
Instale .NET Framework 4.6 y Build Tools 2015 en su servidor de compilación. A continuación, anule la ToolsVersion ( /tv:14.0
) en los argumentos de MSBuild.
Verifique si "Ejecutar MSBuild para Proyecto" existe más de una vez dentro de su plantilla de proceso de Compilación TFS. En mi caso, existió dos veces y me tomó un tiempo averiguar por qué el cambio para ToolPath no estaba teniendo el efecto deseado.