2008-09-17 23 views

Respuesta

3

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

+0

El complemento fue exactamente lo que estaba buscando, gracias – johnc

2

Se puede crear un gráfico de dependencias de los proyectos y montajes en Visual Studio 2010 Ultimate por utilizando Architecture Explorer para explorar su solución, seleccionar proyectos y las relaciones que desea visualizar, y luego crear e un gráfico de dependencia de su selección.

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

Cómo: Generar Documentos Gráfico del Código: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource

Cómo: Buscar código Uso de arquitectura de Explorador de: 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.

Visual Studio 2010 Descubrimiento de arquitectura & herramientas de modelado foro: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads

+0

cosas bonitas, gracias – johnc

0

Structure101 puede hacer eso. Puede explorar un modelo por ensamblado 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 beta, pero ha estado disponible para otros idiomas durante años, por lo que es muy madura. Aquí hay una captura de pantalla de ejemplo. alt text http://www.headwaysoftware.com/images/assemblies.jpg

1

Pedido Visual Studio 2010. Véase Videos

5

necesitaba algo similar, pero no quería pagar por (o instalar) una herramienta para hacerlo. Me created a quick PowerShell script that goes through the project references y les escupe en un amistoso en formato yuml.me 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

+0

+1 para proporcionar el camino más rápido a una solución. En menos de dos minutos, encendí PowerShell, ejecuté su script, pegué el resultado en yuml.me y generé un gráfico. ¡Muy agradable!Por cierto, el código en su publicación de blog vinculada produce un resultado ligeramente más limpio que su versión abreviada aquí - este arroja '' [proyecto] -> [] "' para proyectos que carecen de referencias. (Parece que yuml genera el mismo gráfico de cualquier manera, sin embargo). –

Cuestiones relacionadas