v2018 diagrama capas .net visual-studio migration graph dependencies

.net - diagrama - Gráfico de dependencia de los proyectos de Visual Studio



ndepend (12)

Actualmente estoy migrando una gran solución (~ 70 proyectos) de VS 2005 + .NET 2.0 a VS 2008 + .NET 3.5. Actualmente tengo VS 2008 + .NET 2.0.

El problema es que necesito mover los proyectos uno por uno al nuevo .NET Framework asegurando que ningún proyecto .NET 2.0 haga referencia al proyecto .NET 3.5. ¿Hay alguna herramienta que me dé un buen gráfico de las dependencias del proyecto?


¿Has probado NDepend? Le mostrará las dependencias y también puede analizar la usabilidad de sus clases y métodos.

Su página web:

http://ndepend.com


Actualización: ReSharper desde la versión 8 tiene la característica incorporada ''Ver dependencias del proyecto'' .

La versión ReSharper <8 tiene la característica interna para mostrar gráficos de dependencia al usar el visor de archivos. Vea el manual rápido en la parte inferior de la publicación.

Cómo

  1. Instala la herramienta yEd desde here .
  2. Ejecute VS con el argumento de línea de comando /resharper.internal.
  3. Vaya a ReSharper / Internal / Show Dependencies.
  4. Especifique los proyectos que desea incluir en la ''gran imagen''.
  5. Desmarque ''Excluir nodos de terminal ...'' a menos que lo necesite.
  6. Presione ''Mostrar''.
  7. Usa el diseño jerárquico en yEd (Alt + Shift + H)
  8. Proporcionar comentarios =)


Escribí una herramienta que podría ayudarte. VS Solution Dependency Visualizer analiza las dependencias del proyecto dentro de una solución y crea un cuadro de dependencia a partir de esta información, así como un informe de texto.


La solución Powershell es la mejor. Lo adapté a un script bash que funciona en mi máquina (TM):

#!/bin/bash for i in `find . -type f -iname "*.csproj"`; do # get only filename project=`basename $i` # remove csproj extension project=${project%.csproj} references=`cat $i | grep ''<ProjectReference'' | cut -d "/"" -f 2` for ref in $references; do # keep only filename (assume Windows paths) ref=${ref##*//} # remove csproj extension ref=${ref%.csproj} echo "[ $project ] -> [ $ref ]" done done


Necesitaba algo similar, pero no quería pagar (o instalar) una herramienta para hacerlo. yuml.me un script rápido de PowerShell que yuml.me las referencias del proyecto y las escupe en un yuml.me amistoso de yuml.me 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"




Puede crear un gráfico de dependencia de sus proyectos en VS 2010 Ultimate. Architecture Explorer le permite navegar por su solución, seleccionar proyectos y las relaciones que desea visualizar, y luego crear un gráfico de dependencia de su selección.

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

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

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

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

Foro de Visual Studio 2010 Architectural Discovery & Modeling Tools : http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads



Si simplemente quiere un gráfico de dependencia, he encontrado que esta es una de las formas más limpias de obtener uno:

Analizador de Dependencia