Entradas

Mostrando entradas de 2013

Visual Studio y enlaces simbólicos

Imagen
Problema Tengo una solución en la que quiero aprovechar para crear/ampliar librerías genéricas que puedo usar en otros proyectos. Pero estas librerías están todavía en fase beta. No me apetece tener que trabajar con 2 soluciones de Visual Studio, compilar la librería y luego usarla/copiarla en la solución que las necesita. Quiero todo en una sola solución, pero mantener las librerías aparte para poder compilarlas de forma independiente si hace falta. Solución: Enlaces simbólicos Un enlace simbólico permite crear un “acceso directo” a otra carpeta que está en otra estructura. Esto no es nuevo para Linux, pero bastante reciente en Windows. Por un lado tengo mi solución de librerías genéricas. Es una solución como cualquier otra, aquí la estructura de carpetas, que cuelga de dotNETCommon: Por otro, el proyecto en el que estoy trabajando y que hace uso de algunas de las librerías Los 2 proyectos del recuadro son las librerías que pertenecen a la solución anterior. Crear...

Actualizar automáticamente la versión del ejecutable con el nº de build de Jenkins

Imagen
Lo que voy a explicar en este post es como automatizar el cambio de número de versión de la aplicación en todos los ensamblados y que queden actualizados con el número de build de Jenkins. Supongo que puede valer para cualquier otro servidor de integración continua. Herramientas necesarias Nuget Para facilitar las tareas, iremos descargando difentes paquetes desde Nuget. Si no lo tienes instalado puedes hacerlo desde el extension manager de Visual Studio. MSBuildTasks He visto varias maneras de hacer el versionado automático. No me ha convencido ninguna y, por eso, estoy publicando este post. Para modificar el assemblyInfo con el número de build utilizaremos MSBuildTasks Concepto de las tareas a realizar Antes de compilar, es necesario tomar el número de build de Jenkins y actualizar con él la información del assemblyInfo. Como no queremos repetir esta tarea para cada ensamblado, crearemos un único ensamblado con la información común a todos los ensamblados. Además, cada ens...