Wykres zależności projektów Visual Studio
Obecnie migruję Duże rozwiązanie (~70 projektów) z VS 2005+. NET 2.0 do VS 2008+. Net 3.5. Obecnie mam VS 2008+. Net 2.0.
Problem polega na tym, że muszę przenosić projekty jeden po drugim do nowego. NET framework, zapewniając, że żaden projekt. NET 2.0 nie odwołuje się do projektu. NET 3.5. Czy jest jakieś narzędzie, które dałoby mi ładny wykres zależności projektu?
12 answers
Próbowałeś NDepend? Pokaże Ci zależności i możesz również przeanalizować użyteczność swoich klas i metod.
Ich strona:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-02-28 15:12:55
Potrzebowałem czegoś podobnego, ale nie chciałem płacić za (lub instalować) narzędzie do tego. I stworzył szybki skrypt PowerShell, który przechodzi przez odniesienia do projektu i wypluwa je w yuml.me friendly-format zamiast:
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"
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:35:34
Update: ReSharper od wersji 8 posiada wbudowaną funkcję 'View Project Dependencies' .
Wersja ReSharper wewnętrzną funkcję do wyświetlania wykresów zależności w przeglądarce yFiles. Zobacz szybką instrukcję w dolnej części posta.
Howto
- zainstaluj narzędzie yEd z tutaj .
- Run VS with / resharper.wewnętrzny argument wiersza poleceń.
- przejdź do ReSharper / Internal / Show Dependencies.
- Określ projekty, które chcesz dołączyć do "dużego obrazu".
- usuń zaznaczenie ' Wyklucz węzły końcowe... chyba, że tego potrzebujesz.
- Naciśnij "Pokaż".
- użyj układu hierarchicznego w yEd (Alt+Shift+H)
- Prześlij opinię =)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-13 09:29:35
Możesz łatwo uzyskać wykres zależności projektu za pomocą Visual Studio 2010 Ultimate, Skanuj do 5 minut w tym filmie, aby zobaczyć jak: http://www.lovettsoftware.com/blogengine.net/post/2010/05/27/Architecture-Explorer.aspx
W Visual Studio 2010 Ultimate: Architektura / Generowanie Grafu Zależności / Przez Montaż.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-06 15:14:37
Napisałem narzędzie, które może Ci pomóc. VS Wizualizator zależności rozwiązania analizuje zależności projektu w rozwiązaniu i tworzy wykres zależności na podstawie tych informacji, a także raport tekstowy.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-03-25 07:35:18
Możesz utworzyć wykres zależności swoich projektów w VS 2010 Ultimate. Eksplorator architektury umożliwia przeglądanie rozwiązania, wybieranie projektów i relacji, które chcesz zwizualizować, a następnie tworzenie wykresu zależności na podstawie zaznaczenia.
Aby uzyskać więcej informacji, zobacz następujące tematy:
Jak: generowanie dokumentów graficznych z kodu: http://msdn.microsoft.com/en-us/library/dd409453%28VS.100%29.aspx#SeeSpecificSource
Jak: znaleźć kod Korzystanie z Eksploratora architektury: http://msdn.microsoft.com/en-us/library/dd409431%28VS.100%29.aspx
RC download: http://www.microsoft.com/downloads/details.aspx?displaylang=en&FamilyID=457bab91-5eb2-4b36-b0f4-d6f34683c62a.
Visual Studio 2010 Architectural Discovery & Modeling Tools forum: http://social.msdn.microsoft.com/Forums/en-US/vsarch/threads
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-02-20 01:02:30
Miałem podobny problem, ale był on jeszcze bardziej skomplikowany, ponieważ kilka projektów odnosiło się do różnych wersji tego samego montażu.
Aby uzyskać wyjście, które zawiera informacje o wersji i sprawdza możliwe problemy z ładowaniem zestawu uruchomieniowego, zrobiłem to narzędzie:
Https://github.com/smpickett/DependencyViewer
(bezpośredni link do wydania github: https://github.com/smpickett/DependencyViewer/releases )
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-11 02:10:08
Aby uzupełnić odpowiedź eriawan na wykresach generowanych przez NDepend zobacz screenshooty poniżej. Możesz pobrać i przez jakiś czas korzystać z darmowej wersji próbnej NDepend.
Więcej o Ndepend zależność wykres
Więcej o Ndepend Dependency Matrix :
Uwaga: jestem częścią zespołu narzędzi
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-27 12:48:45
Jeśli po prostu chcesz wykres zależności znalazłem jest to jeden z najczystszych sposobów, aby go uzyskać:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-10-12 11:00:37
Możesz stworzyć ładny wykres odniesień w swoich projektach. Opisałem to na moim blogu http://www.mellekoning.nl/index.php/2010/03/11/project-references-in-ddd/
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-11 21:33:59
Stworzyłem mały projekt C# używając yuml jako wyjścia.. kod można znaleźć tutaj:
Https://github.com/twistedtwig/DotnetProjectDependencyGraphs
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-09-23 13:00:29
Rozwiązanie Powershell jest najlepsze. Zaadaptowałem go do skryptu bash, który działa na moim komputerze (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
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-05-23 12:10:30