График зависимостей проектов Visual Studio - PullRequest
108 голосов
/ 28 февраля 2009

В настоящее время я переносю большое решение (~ 70 проектов) с VS 2005 + .NET 2.0 на VS 2008 + .NET 3.5. В настоящее время у меня VS 2008 + .NET 2.0.

Проблема в том, что мне нужно переместить проекты один за другим в новую платформу .NET, чтобы ни один проект .NET 2.0 не ссылался на проект .NET 3.5. Есть ли какой-нибудь инструмент, который бы дал мне хороший график зависимости проекта?

Ответы [ 13 ]

2 голосов
/ 30 мая 2015

Лучше всего решение Powershell . Я адаптировал его в скрипт bash, который работает на моей машине (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
2 голосов
/ 23 сентября 2014

Я создал небольшой проект на C #, используя YUML в качестве вывода .. код можно найти здесь:

https://github.com/twistedtwig/DotnetProjectDependencyGraphs

0 голосов
/ 16 января 2019

Я проверил все ответы, но ни один из вариантов меня не удовлетворил, поэтому я написал свой собственный инструмент для предварительного просмотра зависимостей проекта от проекта.

https://github.com/Audionysos/VSProjectReferencesViewer

Это ранняя стадия, но она сработала для моих нужд:)

...