Como posso construir um 'diagrama de árvore de dependência' da minha solução .NET

StackOverflow https://stackoverflow.com/questions/80287

  •  09-06-2019
  •  | 
  •  

Pergunta

Posso ver facilmente quais projetos e DLLs um único projeto faz referência em um projeto do Visual Studio .NET.

Existe algum aplicativo ou uso de reflexão que possa criar uma árvore de dependências completa que eu possa usar para traçar um gráfico gráfico de dependências?

Foi útil?

Solução

Além do NDepend, você também pode experimentar este complemento para Refletor para mostrar o gráfico de dependência de montagem.

Outras dicas

NDepend vem com um gráfico de dependência interativo acoplado a uma matriz de dependência.Você pode baixe e use a edição de avaliação gratuita do NDepend por um tempo.

Mais sobre o gráfico de dependência NDepend enter image description here

Mais sobre a Matriz de Dependência NDepend: enter image description here

Isenção de responsabilidade:Faço parte da equipe de ferramentas

Eu precisava de algo semelhante, mas não queria pagar (ou instalar) uma ferramenta para fazer isso.EU criou um script rápido do PowerShell que passa pelas referências do projeto e os cospe em um yuml.me formato amigável em vez disso:

Function Get-ProjectReferences ($rootFolder)
{
    $projectFiles = Get-ChildItem $rootFolder -Filter *.csproj -Recurse
    $ns = @{ defaultNamespace = "http://schemas.microsoft.com/developer/msbuild/2003" }

    $projectFiles | ForEach-Object {
        $projectFile = $_ | Select-Object -ExpandProperty FullName
        $projectName = $_ | Select-Object -ExpandProperty BaseName
        $projectXml = [xml](Get-Content $projectFile)

        $projectReferences = $projectXml | Select-Xml '//defaultNamespace:ProjectReference/defaultNamespace:Name' -Namespace $ns | Select-Object -ExpandProperty Node | Select-Object -ExpandProperty "#text"

        $projectReferences | ForEach-Object {
            "[" + $projectName + "] -> [" + $_ + "]"
        }
    }
}

Get-ProjectReferences "C:\Users\DanTup\Documents\MyProject" | Out-File "C:\Users\DanTup\Documents\MyProject\References.txt"

Sample Graph

Você pode criar um gráfico de dependência de projetos e assemblies no Visual Studio 2010 Ultimate usando o Architecture Explorer para procurar sua solução, selecionar projetos e os relacionamentos que deseja visualizar e, em seguida, criar um gráfico de dependência a partir de sua seleção.

Para obter mais informações, consulte os seguintes tópicos:

Como:Gerar documentos gráficos a partir do código: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

Como:Encontre código usando o Architecture Explorer: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

Baixar RC: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a.

Ferramentas de modelagem e descoberta de arquitetura do Visual Studio 2010 fórum: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

Estrutura101 pode fazer isso.Você pode navegar em um modelo por assembly e/ou namespace e clicar em qualquer dependência em qualquer nível fornece todas as referências em nível de código que causam a dependência.A versão .NET está em beta, mas está disponível para outras linguagens há anos, por isso está muito madura.Aqui está um exemplo de captura de tela.texto alternativo http://www.headwaysoftware.com/images/assemblies.jpg

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top