Какие проекты в моем решении используют ссылку на проект для определенного проекта?

В моем решении у меня есть много проектов, которые используют ссылки на проекты для других проектов в решении. Как определить, какие проекты ссылаются на конкретный проект?

Ответы

Ответ 1

Для этого существует функция Visual Studio. Щелкните правой кнопкой мыши свое решение и выберите "Зависимости проекта". Выберите проект, который вы хотите найти, какие другие проекты зависят от него в раскрывающемся списке "Проекты:". Любые проекты, зависящие от выбранного проекта, будут выделены серым цветом, потому что они вызовут циклическую зависимость.

Ответ 2

Если вы хотите узнать, какие проекты используют Project A в качестве ссылки на проект, самый простой способ, который я нашел, это:

  • Сделайте " Чистый " по Project A
  • Выгрузить Project A
  • Восстановить решение

Вы можете определить, какие проекты используют Project A в качестве ссылки на проект, исследуя, какие проекты не могут успешно сработать на данном этапе.

Ответ 3

Используйте функцию Code Map в Visual Studio, она покажет вам зависимости между вашими проектами. Щелкните правой кнопкой мыши на своем решении, покажите на кодовой карте.

Ответ 4

Лучший способ, которым я знаю, - это использовать... Notepad++ функцию "Найти в файлах".

Вы просто помещаете название проекта, который хотите найти, в поле "Найти что", фильтруете "*.csproj" и ищите в папке, содержащей ваш репозиторий.

Это очень быстро и позволяет вам найти проекты, которые ссылаются на этот проект не только в одном решении, но и в других решениях в той же папке, если у вас есть.

Ответ 5

Если решение содержит множество проектов, а некоторые проекты ссылаются на другие проекты в вашем решении, вы можете определить зависимости проекта, проверив dll внутри справочной папки в рамках конкретного проекта.

Например,

  • Предположим, что у меня есть решение с именем MyOwnProject.
  • В настоящее время в решениях "MyOwnProject" есть 3 проекта:
    1. A (Основной запуск проекта)
    2. B (библиотека классов)
    3. C (библиотека классов)
  • Предположим, что A - основной проект запуска UI, а B и C - проекты библиотеки классов.
  • Если проект A вызывает некоторые функции, определенные внутри проекта B, то для проекта A требуется ссылка на проект B в справочной папке проекта.
  • Если при создании решения отсутствует ссылка, ошибка покажет, что точки на функцию или метод не найдены, потому что без ссылки на проект B проект A не может использовать какие-либо функции или методы проекта B.
  • Читая ошибки, вы можете получить представление о недостающих ссылках.

После создания решения все DLL файлы внутри справочной папки с "Копировать локаль", установленными в true, копируются в выходную папку для конфигурации проектов.