Ação Examine as referências de um determinado projeto e, em seguida, examine o próximo. Diálogo Vamos supor que sua equipe ...

Ação
Examine as referências de um determinado projeto e, em seguida, examine o próximo.

Diálogo
Vamos supor que sua equipe tenha tido que executar várias compilações para obter uma compilação bem-sucedida.

Você acha que existe uma dependência circular em algum lugar, mas onde ela está?

Você já quis saber por que seus projetos têm dependências particulares? 

Vamos supor que você queira remover um assembly ou atualizar para uma nova tecnologia? 

Os gráficos de dependência do Visual Studio podem ajudá-lo com isso. 



Ação
No menu Arquitetura, escolha Gerar Gráfico de Dependência e Para Solução.

Diálogo
Você pode obter uma imagem de alto nível dessa solução gerando um gráfico de dependência da solução.

Isso poderá ser muito útil porque você poderá ter surpresas.

Por exemplo, imediatamente verificamos que os Testes de Unidade na verdade não testam nada na solução. Na realidade, eles não testam absolutamente nada.



Ação
Na Legenda, escolha Adicionar e um analisador de dependência circular.

Diálogo
Essa solução é muito grande, portanto, não visualizamos imediatamente nenhuma dependência inesperada. 

No entanto, você pode adicionar um analisador de dependência circular para ajudá-lo a localizar essas dependências. 



Ação
Como resultado, 3 assemblies estão realçados.

Diálogo
E, de fato, visualizamos esses 3 assemblies se referenciarem. 

Isso nos poupou um bocado de tempo. Agora precisamos corrigir isso! 



Ação
Examine os links entre os 3 assemblies.

Diálogo
Observe aqui que o link de dependência entre esses assemblies é muito mais fino do que os links entre os outros. 

Quando movemos o mouse sobre o link, a dica de ferramenta nos informa que apenas 2 chamadas produzem essa dependência. Isso faz com que pareça que a dependência foi adicionada recentemente.



Ação
Clique no link suspeito (mais fino) e solicite os links contribuintes.

Diálogo
Ao entender o que contribui para uma dependência, podemos visualizar imediatamente quais métodos chamam quais métodos em outros assemblies. E parece que apenas um método é chamado aqui. Isso é bom. 

Ao adicionar os links contribuintes à imagem maior, também entendemos todos os links desse método para outras partes do código. 

Parece que poderíamos mover esse método para o outro assembly sem muito problema. Vamos verificar se estamos certos.



Ação
Arraste e solte o método para o assembly de chamada. Verifique se isso não resolve completamente o problema. 

Diálogo
Verificamos que há outro link para um campo estático. Não podemos movê-lo também.



Ação
Arraste e solte o campo, o que resolve o problema.

Diálogo
Assim, conseguimos testar nossa teoria e descobrir a correção certa.



Ação
Pressione F12 ou use o comando de menu de atalho de código goto. 

Divida a tela no gráfico e no código e use o gráfico para ajudar a navegar para o código.

Diálogo
Agora, podemos usar o diagrama como um mapa para localizar o código e realmente fazer a correção.



Ação
Adicione um comentário explicando o objetivo do novo design e adicione o diagrama ao projeto para incluí-lo em um sheveset ou Exportar como XPS para impressão.

Diálogo
E, em seguida, podemos compartilhar o novo design com a equipe, por exemplo, parte de uma revisão de código.