Acción Busque un proyecto dado en las referencias del proyecto y después mire el siguiente. Diálogo Imaginemos que su equipo ...

Acción
Busque un proyecto dado en las referencias del proyecto y después mire el siguiente.

Diálogo
Imaginemos que su equipo ha tenido que ejecutar varias compilaciones hasta lograr una compilación satisfactoria.

Usted cree que existe una dependencia circular en alguna parte, pero ¿dónde?

¿Alguna vez ha querido saber por qué sus proyectos tienen dependencias concretas? 

Imagine que quería quitar un ensamblado o actualizar a una nueva tecnología? 

Los gráficos de dependencias de Visual Studio pueden ayudarle en esto. 



Acción
En el menú Arquitectura, elija Generar gráfico de dependencias y después Para la solución.

Diálogo
Puede obtener una imagen global de alto nivel de la solución si genera un gráfico de dependencias de ella.

Esto puede ser muy útil porque puede ver cosas que le sorprenderán.

Por ejemplo, se ve inmediatamente que las pruebas unitarias no comprueban realmente todo en la solución. De hecho, no comprueban nada.



Acción
En la leyenda, elija Agregar y un analizador de dependencias circulares.

Diálogo
Esta solución es enorme; por tanto, no vemos de inmediato dependencias que no esperamos. 

Sin embargo, puede agregar un analizador de dependencias circulares que le ayude a encontrar estas dependencias. 



Acción
El resultado es que se resalta 3 ensamblados.

Diálogo
Y, de hecho, vemos que estos 3 ensamblados se hacen referencia mutuamente. 

Esto nos ha ahorrado muchísimo tiempo. ¡Ahora tenemos que corregirlo! 



Acción
Examine los vínculos entre los 3 ensamblados.

Diálogo
Observe aquí que el vínculo de dependencia entre este ensamblado y este otro es mucho más fino que los vínculos entre los demás. 

Si desplazamos el mouse encima del vínculo, la información sobre herramientas indica que solo 2 llamadas producen esta dependencia, lo que da a entender que la dependencia se agregó recientemente.



Acción
Haga clic en el vínculo sospechoso (más fino) y solicite los vínculos de contribución.

Diálogo
Tener conocimiento de lo que contribuye a una dependencia nos permite ver de inmediato los métodos que llaman a métodos de otros ensamblados. Y parece que aquí solo se llama un método. Eso es bueno. 

Al agregar los vínculos de contribución a la imagen global, obtenemos también todos los vínculos de este método con otras partes del código. 

Parece que hemos podido mover este método al otro ensamblado sin problemas. Veamos si estamos en lo correcto.



Acción
Arrastre y coloque el método en el ensamblado que llama. Observe que esto no resuelve totalmente el problema. 

Diálogo
Vemos que hay otro vínculo con un campo estático. Podemos mover ese campo también.



Acción
Arrastre y coloque el campo. Esto soluciona el problema.

Diálogo
Por tanto, hemos podido probar nuestra teoría y encontrar la solución adecuada.



Acción
Presione F12, o use el comando Ir al código del menú contextual. 

Divida la pantalla en el gráfico y el código, y ayúdese del gráfico para navegar al código.

Diálogo
Ahora podemos usar el diagrama como mapa para buscar el código y corregirlo realmente.



Acción
Agregue un comentario que explique el propósito del nuevo diseño y agregue este diagrama al proyecto para incluirlo en un conjunto de cambios aplazados o exportarlo como XPS para imprimirlo.

Diálogo
Y ya podemos compartir el nuevo diseño con el equipo, por ejemplo, como parte de una revisión de código.