-
Buenas, siguiendo con la línea de posts sobre la personalización de actiidades para Team Build 2010, hoy mostraré las 4 líneas de código necesarias para agregar un link en el output de una build en Team Foundation Server 2010 . En posts anteriores expliqué como...
-
Buenas, me dejo un apunte relacionado con un error que me he encontrado un par de veces en definiciones de Builds para Team Foundation Server 2010 . Todavía no tengo claro si es un bug de Visual Studio 2010 o un error mío de definición de proyectos, aunque la tendencia es claramente...
-
Buenas, ayer estaba en Barcelona en una mini sesión de Visual Studio 2010 , y me encontré con un escenario curioso relacionado con el motor de compilación de TFS2010 . Para comprender el problema, primero repasemos el proceso básico que realiza una Build: Descarga código fuente Compila el código fuente...
-
Buenas, MSBuild posee Out Of The Box una serie de tareas que permiten compilar un proyecto, mostrar mensajes en la consola, etc.; y entre ellas hay varias que son muy útiles para trabajar con archivos. Como uno de los principios que siempre intento seguir es no reinventar la rueda, si en algún momento...
-
Buenas, cuando creas una Custom Task para MSBuild , es probable que en algún momento te tientes de utilizar otros ensamblados dentro de la misma. Esto que se soluciona de una forma simple en aplicaciones .Net, en MSBuild puede ser un tanto complicado ya que el control que tenemos sobre el host...
-
Buenas, ayer posteé un ejemplo muy básico para la creación de una tarea personalizada para MSBuild . Si eres un desarrollador, seguramente una de los primeros componentes que necesitas está relacionado con la capacidad de dejar trazas, en este caso en una Custom Task para MSBuild . Para esto tenemos...
-
Buenas, hoy también toda hacer un poco de publicidad gratuita pero la verdad es que cuando trabajas con archivos grandes de MSBuild , el panel de Resharper File Structure (Ctrl + Alt + F) es una de las mejores ayudas que puedes tener. El mismo te muestra una vista en modo árbol de un archivo .proj...
-
Buenas, en el post anterior comentaba sobre la capacidad de definir propiedades además de un poco de código para las Inline Tasks en MSBuild 4.0, pero claro, ahora que estamos trabajando con varias variables (definiciones en Xml, código C#, etc); pues es posible que nuestro código tenga errores. En el...
-
Buenas, en mi post anterior comentaba sobre las nuevas Inline Tasks introducidas en MSBuild 4.0. Además de poder crear y definir este tipo de tareas, es posible también definir propiedades de Input y Output para utilizarlos en la definición de la tarea. Las mismas se definen dentro del elemento <ParameterGroup...
-
Buenas, una de las novedades más interesantes y más peligrosas que se incorporan en MSBuild 4.0 , es la capacidad de trabajar con tareas autocontenidas ( Inline Tasks ). El listado completo de novedades se puede encontrar aquí , pero lo mejor de esta novedad es que para tareas simples, ya no será necesario...
-
Buenas, ayer fue el turno de las condiciones, asi que es natural que el siguiente post esté relacionado con los CASE/Switch o MSBuild Conditional Constructs , como se definen en MSDN. Este elemento nos permite armar sentencias de selección utilizando: Choose Element http://msdn.microsoft...
-
Buenas, las condiciones en MSBuild se aplican a casi todos los elementos y tareas que están disponibles para utilizar a través del atributo @Condition. En esta entrada de MSDN: MSBuild Conditions , se explican todos los tipos de condiciones soportados, pero viene bien mostrar un par de ejemplos. El siguiente...
-
Buenas, después de hablar de uno de los elementos que nos permiten modularizar la ejecución de nuestros proyectos de MSBuild : los MSBuild Targets , otra opción que poseemos es poder importar/incluir archivos de proyecto de MSBuild en otros archivos de proyectos. Para esto se utiliza la etiqueta <...
-
Buenas, una vez definidos nuestros MSBuild Targets , es momento de controlar el flujo de llamadas entre ellos. Para esto utilizamos la tarea de MSBuild : CallTarget . Esta tarea tiene una sintaxis muy simple, y el atributo @Targets , define los MSBuild Targets que se invocarán. Por ejemplo, en el siguiente...
-
Buenas, en el post anterior comentaba como funciona un elemento básico de MSBuild , como son los MSBuild Target . Un detalle interesante a tener en cuenta cuando trabajamos con estos elementos es la captura de excepciones. Soy conciente de que muchos de ustedes no tienen errores en el código...
-
Buenas, en el mini post de hoy, veremos uno de los componentes más importantes de MSBuild : los MSBuild Targets . Los mismos permiten definir bloques o secciones de acciones de manera que sea posible organizar la ejecución de un proyecto de compilación de una forma más ordenada...
-
Buenas, hoy toca ver un poco somo funcionan el elemento < ItemGroup > en MSBuild . Este elemento permite definir una colección de elementos personalizados,en scripts de MSBuild , para luego poder trabajar con los mismos. En el siguiente ejemplo, creo una colección de elementos <Cliente>...
-
Buenas, continuando con el post anterior, donde expliqué un poco la sintáxis y los caractéres de escape que se utilizan en MSBuild para utilizar propiedades, hoy voy a mostrar un par de ejemplos al respecto. El siguiente ejemplo, muestra un archivo muy simple de MSBuild , en el que...
-
Buenas, Team Foundation Server 2010 incorpora como gran novedad que las Builds ya no se basan en MSBuild , sino que son gestionadas por Workflow Foundation . Esto es una gran noticia, pero lamentablemente si quieres comprender como funciona un proceso de compilacion de .Net, todavía tendrás que aprender...
-
Buenas, hace un tiempo escribí sobre los cambios en la configuración que se debían realizar para poder compilar proyectos desarrollados con Visual Studio 2010 y con target .Net Framework 4.0 utilizando TFS 2008 . Este cambio es el primer paso hacia una serie de momentos de iluminación que ocasionan que...