Pregunta

Puedo ver fácilmente a qué proyectos y archivos DLL hace referencia un solo proyecto desde un proyecto de Visual Studio .NET.

¿Existe alguna aplicación o uso de la reflexión que pueda crearme un árbol de dependencias completo que pueda usar para trazar un cuadro gráfico de dependencias?

¿Fue útil?

Solución

Además de NDepend, también puedes probar este complemento para Reflector para mostrar el gráfico de dependencia del ensamblado.

Otros consejos

NDepend viene con un gráfico de dependencia interactivo junto con una matriz de dependencia.Puede descargue y utilice la edición de prueba gratuita de NDepend por un tiempo.

Más sobre el gráfico de dependencia NDepend enter image description here

Más sobre la matriz de dependencia NDepend: enter image description here

Descargo de responsabilidad:Soy parte del equipo de herramientas.

Necesitaba algo similar, pero no quería pagar (ni instalar) una herramienta para hacerlo.I Creó un script rápido de PowerShell que recorre las referencias del proyecto. y los escupe en un yuml.me formato amigable en su lugar:

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

Puede crear un gráfico de dependencia de proyectos y ensamblajes en Visual Studio 2010 Ultimate utilizando Architecture Explorer para explorar su solución, seleccionar proyectos y las relaciones que desea visualizar y luego crear un gráfico de dependencia a partir de su selección.

Para obtener más información, consulte los siguientes temas:

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

Cómo:Buscar código usando el Explorador de arquitectura: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx

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

Herramientas de modelado y descubrimiento arquitectónico de Visual Studio 2010 foro: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

Estructura101 puedo hacer eso.Puede explorar un modelo por ensamblaje y/o espacio de nombres, y al hacer clic en cualquier dependencia en cualquier nivel obtendrá todas las referencias a nivel de código que causan la dependencia.La versión .NET está en fase beta, pero ha estado disponible para otros idiomas durante años, por lo que está muy madura.Aquí hay una captura de pantalla de ejemplo.texto alternativo http://www.headwaysoftware.com/images/assemblies.jpg

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top