none
Configurar y mantener proyectos referenciados Visual Studio RRS feed

  • Pregunta

  • Hola a tod@s,

         Tenemos un proyecto de desarrollo común para todos nuestros clientes que usan nuestra aplicación, en le cual, se van añadiendo mejoras con las sugerencias de nuestros clientes. Hemos llegado a un punto, en el que, hay clientes que quieren un desarrollo más específico para ellos, lo que viene siendo, un desarrollo a medida. Llegados a este punto, creemos que la mejor forma de proceder es crear dos proyectos de desarrollo disntintos dejando un proyecto de desarrollo global y que esos cambios lo tengan todos los clientes, y otro proyecto de desarrollo donde se introdozucan los cambios a medida de este cliente en concreto. Pero a la vez que el mantenimiento de ambos proyectos sea lo más sencillo posible, es decir, si en el proyecto común a todos los clientes hacemos cambios que también se apliquen directamente en el proyecto a medida del otro cliente, para no tener que replicar programación. Y a su vez, si se cambia algo en el proyecto a medida, que dichos cambios no afecten al proyecto común para todos los clientes.

        Hemos comprobado que se pueden referenciar proyectos añadiendo las clases y formularios ya existentes eligiendo la opción "Añadir elemento existente" y después al seleccionar el fichero compilado elegir "Añadir como vínculo". Pero esta opción lo que hace es que, haciendo cambios en cualquiera de los proyectos los cambios se realizan en ambos indistintamente si los hacemos en uno u en otro proyecto. Nosotros necesitaríamos, como explico anteriormente, poder mantener cambios generales sobre el proyecto uno (proyecto común a todos los clientes), pero los cambios realizados a medida sobre el proyecto dos (proyecto a medida), no se vean reflejados en le proyecto uno.

         Actualmente usamos como CSV para nuestros proyectos Ankhsvn Subversion de CollabNet, por si de alguna forma, se pudiera montar esta forma de trabajar sobre el CSV, en lugar de hacerle mediante el propio compilador de Visual Studio.

         Actualmente estamos desarrollando con Visual Studio 2008, aunque estamos pensando migrar a Visual Studio 2012. Más que nada, por si esto que proponemos se puede hacer con VS 2012 y no con VS 2008.

         Espero sus respuetas y gracias por la ayuda!!

         Un cordial saludo!

       


    David

    jueves, 22 de enero de 2015 12:33

Respuestas

  • Buenas David,

    Lo que comentas tiene una solución si cambias el enfoque y te planteas el uso de TFS.

    Puedes establecer una politica de ramas, de forma que en tu rama main, desarrolles lo que necesites de forma global y tengas diferentes ramas para cada cliente. En esas ramas puedes evolucionar de manera específica tu producto y cuando quieras incluir cambios desarrollados en la rama main puedes hacer una operación de merge e incluir los cambios que desees.

    Si quieres más información sobre TFS y políticas de ramas, merging y demás puedo enviarte algunos links.

    Un saludo.


    Si se solucionó tu consulta, no olvides marcarla como respondida. Si te ayudó, vótala como útil.

    • Marcado como respuesta DavidHJ jueves, 22 de enero de 2015 17:55
    jueves, 22 de enero de 2015 12:50
  • >>Actualmente usamos como CSV para nuestros proyectos Ankhsvn Subversion de CollabNet, por si de alguna forma, se pudiera montar esta forma de trabajar sobre el CSV, en lugar de hacerle mediante el propio compilador de Visual Studio.

    pero si usas SVN pueden crear branch para abrir caminos en el codigo

     Using Branches

    Haciendo ramas / etiquetas

    de esta forma podrias crear un trunk principal y de este abrir ramas con especializaciones que requiera cada cliente

    depsues puedes sincronizas el trunck con los brunch si es que necesitas pasar funcionalidad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta DavidHJ jueves, 22 de enero de 2015 17:55
    jueves, 22 de enero de 2015 13:54

Todas las respuestas

  • Buenas David,

    Lo que comentas tiene una solución si cambias el enfoque y te planteas el uso de TFS.

    Puedes establecer una politica de ramas, de forma que en tu rama main, desarrolles lo que necesites de forma global y tengas diferentes ramas para cada cliente. En esas ramas puedes evolucionar de manera específica tu producto y cuando quieras incluir cambios desarrollados en la rama main puedes hacer una operación de merge e incluir los cambios que desees.

    Si quieres más información sobre TFS y políticas de ramas, merging y demás puedo enviarte algunos links.

    Un saludo.


    Si se solucionó tu consulta, no olvides marcarla como respondida. Si te ayudó, vótala como útil.

    • Marcado como respuesta DavidHJ jueves, 22 de enero de 2015 17:55
    jueves, 22 de enero de 2015 12:50
  • >>Actualmente usamos como CSV para nuestros proyectos Ankhsvn Subversion de CollabNet, por si de alguna forma, se pudiera montar esta forma de trabajar sobre el CSV, en lugar de hacerle mediante el propio compilador de Visual Studio.

    pero si usas SVN pueden crear branch para abrir caminos en el codigo

     Using Branches

    Haciendo ramas / etiquetas

    de esta forma podrias crear un trunk principal y de este abrir ramas con especializaciones que requiera cada cliente

    depsues puedes sincronizas el trunck con los brunch si es que necesitas pasar funcionalidad

    saludos


    Leandro Tuttini

    Blog
    MVP Profile
    Buenos Aires
    Argentina

    • Marcado como respuesta DavidHJ jueves, 22 de enero de 2015 17:55
    jueves, 22 de enero de 2015 13:54
  • Hola amigos,

    Desde ya muchas gracias por vuestras repuestas. Le vamos a echar un vistazo a las soluciones que nos comentais.

    Un saludo.


    David

    jueves, 22 de enero de 2015 18:10