Pregunta

Nuestra aplicación utiliza una combinación de plataformas ASP.NET y Flex.

Soy capaz de utilizar correctamente el servicio de construcción para construir e implementar el sitio Web .NET. Eso funciona bien. Sin embargo, también tenemos nuestros archivos de ActionScript en TFS y yo hemos creado un archivo por lotes para compilar correctamente el código ActionScript desde la línea de comandos.

Quiero crear dos definiciones de compilación separadas para la compilación de ASP.NET y Flex. Flex, obviamente, no tiene un archivo SLN - puedo crear un archivo de definición de build desde cero para apoyar el Flex compilar archivo por lotes sin un archivo de solución? Las tareas son bastante simples para crear (véase más adelante), pero nunca he construido un script de construcción del equipo personalizado sin utilizar el asistente para la creación - y el Asistente para crear espera que proporcione un archivo de solución, que no tengo <. / p>

Mi script de construcción sería muy recta hacia adelante:

  1. Obtener la última versión de los archivos de ActionScript
  2. Ejecutar el archivo por lotes de compilación ActionScript
  3. Copie los archivos de ActionScript a la carpeta de despliegue
¿Fue útil?

Solución

Por supuesto. TFSBuild.proj es un archivo de MSBuild que llama su solución de construir en TFS. Puede modificar que para construir lo que sea que desee utilizando MSBuild, que es el lenguaje que .vbproj y archivos Csproj están escritos en. Hay una gran cantidad de tareas que MSBuild le permite utilizar ...

Otros consejos

No se que no es necesario un archivo de solución en conseguir una acumulación hecho usando TFSBuild. Un archivo muy simple proyecto podría tener este aspecto (cortesía de Aaron Hallberg):

<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="3.5">
  <Target Name="EndToEndIteration">
    <Exec Command="SomeScript.cmd" />
  </Target>
</Project>

página del blog Aarons. Los objetivos predeterminados en un archivo TFSBuild.proj es en realidad definen en un archivo objetivos "comunes" y se importan en el projfile por esta instrucción:

  <Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\TeamBuild\Microsoft.TeamFoundation.Build.targets" />

Si se elimina la importación sólo se necesita el objetivo de conseguir EndToEndIteration tfsbuild corriendo ....

Todo lo mejor / Niels

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top