Programando desde varias máquinas sin TFS - WarNov Developer Evangelist - Site Home - MSDN Blogs

Programando desde varias máquinas sin TFS

Programando desde varias máquinas sin TFS

  • Comments 3

Esta técnica solo es recomendable si es un proyecto que lleva usted solo (es decir no un equipo). Es muy sencillo. Solo es necesario usar Live Mesh para mantener sincronizadas las carpetas. Yo la uso porque tengo varias máquinas (en la casa, la oficina, etc.) Pero existen ciertas situaciones que hay que tener en cuenta:

Hoy por ejemplo no podía ejecutar mi aplicación por este error:

The located assembly's manifest definition does not match the assembly reference

Sucede que mi app estaba buscando una versión de DLLs errada.

Luego de mucho “cacharrear” encontré que esto sucede porque se copian las dlls de otras máquinas en la que esta ejecutándose el Live Mesh. Para solucionarlo, basta con eliminar todas las dlls producto de la compilación de nuestra solución y volverlas a generar.

Estaré actualizando este post con más incidencias de esta modalidad.



Leave a Comment
  • Please add 3 and 6 and type the answer here:
  • Post
  • Para el problema de la versión de las DLLs es bueno adoptar la práctica de copiar las DLLs diferentes a las básicas que vienen con .NET y que por lo tanto pueden ser diferentes a las de otras máquinas, a una subcarpeta de la carpeta que contiene la aplicación, que se podría llamar por ejemplo 'Libs'.

    Entonces, en lugar de referenciar las DLLs desde la GAC de la máquina u otra carpeta fuera de la general del proyecto, las librerías que se referencian siempre estarán dentro de la misma carpeta que uno tiene bajo control de código y versiones, sea con TFS, Mercurial, Git, sincronizada con Live Mesh o lo que sea.

  • @Jorge Gamba

    Muchas gracias Jorge.. esta es una excelente técnica.

    El problema con Live Mesh, es que como no está creado para manejar código específicamente, si en un momento dado por X o Y motivo dos máquinas pertenecientes a una cuenta de Mesh se encuentran sincronizando y una dll se está actualizando, entonces Mesh crea una copia de la misma; algo así como "libreria (MAQUINA3).dll" Y esto empieza a volver caótico el comportamiento.

    Tu propuesta es muy apropiada, pero faltaría especificar que esa carpeta en la cual vamos a poner todas las librerías debería estar fuera de la sincronización específicamente de Mesh.

  • @Jorge Gamba

    Muchas gracias Jorge.. esta es una excelente técnica.

    El problema con Live Mesh, es que como no está creado para manejar código específicamente, si en un momento dado por X o Y motivo dos máquinas pertenecientes a una cuenta de Mesh se encuentran sincronizando y una dll se está actualizando, entonces Mesh crea una copia de la misma; algo así como "libreria (MAQUINA3).dll" Y esto empieza a volver caótico el comportamiento.

    Tu propuesta es muy apropiada, pero faltaría especificar que esa carpeta en la cual vamos a poner todas las librerías debería estar fuera de la sincronización específicamente de Mesh.

Page 1 of 1 (3 items)