7

tenemos una gran VS solución usando referencias de proyectos que es construido por TFS construir de este modo:TFSBuild/MSBuild y el Proyecto de referencia frente a referencia del archivo

Solution 
- Project 1 
- Project 2 
- Project ... 
- Project N 

Debido a que la solución es demasiado grande tenemos varias soluciones más pequeñas que nos utilizar día a día:

SubSolution 
- Project 1 
- Project 19 

El problema es que los desarrolladores que trabajan en subsolución encuentran que en realidad no es la construcción debido a las referencias del proyecto no se pudo encontrar, para que cambien los proyectos para utilizar referencias de archivo.

Esto luego rompe la compilación TFS que no puede encontrar estas referencias de archivos porque aún no se han compilado (aunque los proyectos están en la misma solución). ¿Hay alguna forma de evitar este tira y afloja entre los dos tipos de referencias? ¿Cuál es la forma correcta de dividir sus soluciones?

+0

¿Quizás podría tratar de agregar dependencia (DependsOn) para los Subproyectos en los principales que se construyen? – mfloryan

Respuesta

2

¿Cuál es la forma correcta de dividir sus soluciones?

Salida este capítulo de la guía de TFS por los patrones & las prácticas del equipo:

Chapter 3 - Structuring Projects and Solutions in Source Control

prestar especial atención a esta nota para el escenario "con particiones Solution" (que te creo' en realidad estamos tratando de implementar):

A diferencia de las versiones anteriores de Visual Studio, Visual Studio 2005 se basa en MSBuild. Ahora es posible crear estructuras de solución que no incluyan todos los proyectos referenciados y que sigan construyendo sin errores. Siempre que la solución maestra se haya creado primero, generando la salida binaria de cada proyecto, MSBuild puede seguir las referencias del proyecto fuera de los límites de su solución y construir con éxito. Esto solo funciona si usa referencias de proyectos, no referencias de archivos. Puede crear soluciones creadas de esta manera desde la línea de comandos de compilación de Visual Studio y desde el IDE, pero no con Team Build de manera predeterminada. Para construir exitosamente con Team Build, use la solución maestra que incluye todos los proyectos y dependencias.

2

Independientemente de cómo organizar su acumulación, desarrolladores deben entender cómo funcionan las referencias, y tenga en cuenta cuando se hacen cambios a las referencias que no deben comprobar los cambios en a menos que la intención de realizar un cambio en el proceso de compilación.

En cuanto a la organización de sus compilaciones, como dice Dmytrol, las referencias de proyectos deberían funcionar entre soluciones (siempre que el destino ya esté construido, sin embargo también es el caso para referencias de archivos).

Mi consejo sería agrupar sus proyectos en pequeñas soluciones viables y usar referencias de proyectos dentro de esas soluciones. Su archivo/compilación de solución principal también puede usar referencias de proyecto; sin embargo, si encuentra referencias de proyecto entre las más pequeñas demasiado difíciles de mantener, puede usar referencias de archivos y controlar el orden de compilación a través de dependencias de proyectos o el orden de compilación del proyecto (accesible en Visual Studio haciendo clic derecho en un proyecto en su solución).

Cuestiones relacionadas