Ver por etiquetas
Todas las etiquetas »
MSBuild (
RSS)
Buenas, si utilizas Team Build para personalizar los procesos de compilación de Visual Studio o Team Foundation Server, seguramente en algún momento pensaste en utilizar los componentes que se encuentran en MSBuild Extension Pack. Ahora con la actualización de Octubre, pues tenemos más de 400 tareas que nos ayudan a aplicar las personalizaciones. (Si quieres ver de que va el tema, revisa mis posts con tags MSBuild ) The MSBuild Extension Pack October 2012 release provides...
Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo empezar [MSBUILD] HowTo: Acceder a información en variables de Build (I) [MSBUILD] HowTo: Utilizar propiedades en MSBuild (II) [MSBUILD] HowTo: Utilizar grupos de elementos en MSBuild (III) [MSBUILD] Utilizando Targets en proyectos de Build (IV) [MSBUILD] Gestionando errores en tiempo de ejecución (V) [MSBUILD] Invocando Targets y pasando valores entre los mismos (VI) [MSBUILD]...
Buenas, siempre que tengo que procesar una condición para setear el valor de una propiedad, termino haciendo unas líneas muy raras de MSBuild . Me voy a apuntar este post para que dentro de 2 horas no se me olvide como lo resuelvo de una forma simple. En el siguiente ejemplo, vemos que en el Target1 se muestra el valor de la propiedad $(Log). El valor de la misma se procesa entre las líneas 4 y 8, y dependiendo si existe o no un archivo de log, la propiedad puede tomar los valores...
Buenas, más de 5 años después de la implantación de MSBuild como tecnología para la compilación de proyectos y tareas en Visual Studio, por fin tenemos la posibilidad de depurar los proyectos para la versión MSBuild 4.0. El siguiente tutorial muestra como depurar el siguiente proyecto: 1: < Project xmlns ="http://schemas.microsoft.com/developer/msbuild/2003" 2: InitialTargets ="Target1" > 3: < Target Name ="Target1"...
Buenas, después de mi visita por Barcelona la semana pasada al equipo del AlegreBandolero , Marc Rubiño y su gente, pues uno de los temas que quedó pendiente era evaluar la capacidad de lanzar scripts de MSBuild desde una definición de build de Team Foundation Server 2010 . Ahora bien, esto que no es para nada complicado tiene un par de puntos a tener en cuenta relativos a la configuración de la build en Team Foundation Server 2010 y del script de MSBuild. Los siguientes pasos demuestran como incluir...
Buenas, cuando los archivos de MSBuild comienzan a ser más grandes que lo que aconseja el sentido común, pues es una buena idea, separar los mismos en varios archivos y además separar los MSBuild Targets en Targets más pequeños. Vamos que los mismos principios SOLID que aplicamos cuando escribimos código, deberíamos intentar aplicar en el diseño y construcción de nuestros archivos de MSBuild (ojo, que no soy un inconsiente y sé que MSBuild es poco más que un lenguaje, pero por pedir que no falte...
Buenas, actualización de la lista de enlaces para dar los primeros pasos con MSBuild . Cómo empezar [MSBUILD] HowTo: Acceder a información en variables de Build (I) [MSBUILD] HowTo: Utilizar propiedades en MSBuild (II) [MSBUILD] HowTo: Utilizar grupos de elementos en MSBuild (III) [MSBUILD] Utilizando Targets en proyectos de Build (IV) [MSBUILD] Gestionando errores en tiempo de ejecución (V) [MSBUILD] Invocando Targets y pasando valores entre los mismos (VI) [MSBUILD] Incluyendo/importando archivos...
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 necesito copiar un archivo, por ejemplo; pues me fijaré si no existe una tarea OOTB para esta acción antes de escribir mi propia Custom Task. El listado completo de tareas OOTB es el siguiente http...
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 de ejecución ( MSBuild ) no es bastante pobre. Supongamos el siguiente escenario, donde una tarea llamada TaskFour utiliza un componente para realizar una suma (líneas 13 y 14): 1: using Microsoft.Build...
Buenas, ayer escribí un post donde comenté un escenario donde al intentar ejecutar pruebas unitarias para Custom Tasks de MSBuild , nos encontrábamos con que la instancia de la propiedad Log ( TaskLoggingHelper ) no estaba inicializada y no podíamos continuar con nuestras pruebas. Para solucionar este escenario, lo que haremos es modificar un poco el comportamiento de nuestra Custom Task, para poder definir que tipo de TaskLoggingHelper utilizará la clase. Para esto, creamos 2 constructores donde...
Buenas, hace unos días posteé un ejemplo muy simple para realizar trazas en tareas personalizadas de MSBuild . En este post, le vamos a dar una pequeña vuelta más al ejemplo para ver como podemos utilizar pruebas unitarias en estos casos. Supongamos una tarea personalizada llamada MyThirdTask , en la que he simplificado un poco el ejemplo del post anterior. 1: using Microsoft.Build.Utilities; 2: using Microsoft.Build.Framework; 3: namespace ElBruno.MsBuild 4: { 5: public class MyThirdTask : Task...
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 a nuestra disposición la clase TaskLoggingHelper , ubicada en Microsoft.Build.Utilities.TaskLoggingHelper y que nos permite tareas como: LogCommandLine Sobrecargado. Registra la línea de comandos. LogError...
Buenas, hace un tiempo escribí un post donde comenté como crear una tarea personalizada para MSBuild que agrupe un set de strings. Pues este post es un primer paso para mostrar como crear una tarea personalizada para MSBuild , y luego iremos complicando un poquito el tema. En primer lugar debermos crear un proyecto del tipo Class Library, y agregar las siguientes referencias: Microsoft.Build.Framework Microsoft.Build.Tasks.v3.5 Microsoft.Build.Utilities.v3.5 Luego, crearemos una clase llamada [ MyFirstTask...
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, en el que es posible distinguir, entre otras cosas: definición de propiedades definición de grupos de propiedades la declaración de Imports la declaración de Usings los targets y los elementos internos...
Buenas, que los chicos de JetBrains son unos cracks no es ninguna novedad, ReSharper es un excelente ejemplo de esto. Si programas con VB.Net o C# y lo utilizas, no hace falta que te explique las ventajas que te brinda y lo que te ayuda programando; personalmente yo lo tengo en la lista de las mejores extensiones para Visual Studio 2010 . Ahora bien, si tu vida no es tan agradable y te toca editar archivos de MSBuild , pues aquí también hay algunas ayudas, por parte de ReSharper que son interesantes...
Buenas, después de casi un mes de escribir un poco de MSBuild , a continuación el listado de los posts como para ir comprendiendo un poco de que va MSBuild : [MSBUILD] HowTo: Acceder a información en variables de Build (I) [MSBUILD] HowTo: Utilizar propiedades en MSBuild (II) [MSBUILD] HowTo: Utilizar grupos de elementos en MSBuild (III) [MSBUILD] Utilizando Targets en proyectos de Build (IV) [MSBUILD] Gestionando errores en tiempo de ejecución (V) [MSBUILD] Invocando Targets y pasando valores...
Buenas, otra de las novedades en MSBuild 4.0, son dos nuevos targets BeforeTargets y AfterTargets. Hasta la versión 3.5 los MSBuild Targets se definen si el comienzo de un Target depende de la salida de otro Target; utilizando varios atributos para especificar el orden en el que se ejecutan los mismos: Initial targets Default targets First target Target dependencies Ahora en MSBuild 4.0, se han agregado RunBeforeTargets y RunAfterTargets (MSBuild 4.0) que permiten definir los Targets que se ejecutarán...
Buenas, otra de las novedades incluidas en MSBuild 4.0 son las MSBuild Property Functions . Las mismas permiten trabajar con funciones básicas de scripting para evaluar los valores de una propiedad, incluyendo tareas básicas para trabajo con Strings y otras clases de .Net Framework. El siguiente proyecto muestra diferentes ejemplos sobre una propiedad: Línea 8: el valor inicial de la propiedad Línea 9: el valor de la propiedad en mayúsculas Línea 10: el valor de la propiedad en minúsculas Línea 11...
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 caso de que se disparen los mismos, el propio compilador de MSBuild , nos informará el detalle y además podremos ver el log de compilación, como si fuese un proyecto C#. El siguiente proyecto posee...
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 /> y pueden definir características propias como por ejemplo, el tipo de dato de la propiedad, si es requerida, o si es de tipo Output. El siguiente proyecto define un parámetro de tipo...
Más artículos
Página siguiente >