.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:
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
- Instala la herramienta yEd desde here .
- Ejecute VS con el argumento de línea de comando /resharper.internal.
- Vaya a ReSharper / Internal / Show Dependencies.
- Especifique los proyectos que desea incluir en la ''gran imagen''.
- Desmarque ''Excluir nodos de terminal ...'' a menos que lo necesite.
- Presione ''Mostrar''.
- Usa el diseño jerárquico en yEd (Alt + Shift + H)
- Proporcionar comentarios =)
Creé un pequeño proyecto de C # usando YUML como salida. El código se puede encontrar aquí:
https://github.com/twistedtwig/DotnetProjectDependencyGraphs
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"
Para completar la respuesta eriawan en gráficos generados por NDepende ver capturas de pantalla a continuación. Puede descargar y usar la versión de prueba gratuita de NDepend por un tiempo.
Más sobre el gráfico NDepend Dependency
Más sobre NDependen de la Matriz de Dependencia :
Descargo de responsabilidad: soy parte del equipo de herramientas
Puede crear un buen gráfico de las referencias en sus proyectos. Describí la forma en que lo hice en mi blog http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/
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
Puede obtener fácilmente un gráfico de dependencia del proyecto con Visual Studio 2010 Ultimate, escanear a los 5 minutos de este video para ver cómo: http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/Architecture-Explorer.aspx
En Visual Studio 2010 Ultimate: Arquitectura | Generar Gráfico de Dependencia | Por la Asamblea.
Si simplemente quiere un gráfico de dependencia, he encontrado que esta es una de las formas más limpias de obtener uno:
Tuve un problema similar, pero fue aún más complicado porque varios proyectos se referían a versiones diferentes del mismo ensamblaje.
Para obtener un resultado que incluye información de la versión y comprueba posibles problemas de carga del ensamblado en tiempo de ejecución, creé esta herramienta:
https://github.com/smpickett/DependencyViewer
(enlace directo a la versión de Github: https://github.com/smpickett/DependencyViewer/releases )