2017-02-16 3 views
5

У меня есть огромный проект электронной коммерции (WSP), который я унаследовал, так что это почти 800 тыс. Строк кода коричневого поля со многими компонентами. Когда я скомпилирую, я безошибочно получаю предупреждение о круговых ссылках, и компиляция останавливается. Если я снова построю, он завершится и запустится.Как идентифицировать круговые ссылки в огромном проекте

Я не знаю, с чего начать эту циркулярную ссылку. Я понимаю, что это такое, а не как найти такую ​​же иглу в стоге сена моего проекта.

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

+1

Проверка ссылок каждый проектов и посмотреть, если какой-либо ссылки на проекты один, который ссылается на себя? – TheLethalCoder

+3

Ошибка сообщит вам, какие проекты вызывают циклическую ссылку. В правой части ошибки вы должны увидеть проект. Если вы нажмете ссылки на этот проект, у него будет желтый треугольник. Это ваши круговые (или другие ошибки) ссылки. + TheLethalCoder, он уточняет, что проект огромен. Это такой длинный и простой способ сделать это, и идет против того, что он просил. – Dispersia

ответ

2

Вы можете попробовать the Architecture Explorer (Visual Studio> Architecture> Generate Dependency Graph) или проект вроде NDepend (не бесплатный).

В Visual Studio 2015 Enterprise, вы можете правой кнопкой мыши на ваше решение и выбрать Show Project Dependency Diagram, если у вас есть ReShaper.

+0

Если проект огромен, вы можете группировать проекты в разных папках, имеющих четкую иерархию зависимостей, и вы фильтруете эти папки на диаграмме зависимостей. Если вы не можете заметить быстро круговые зависимости, действительно стоит сделать какой-то порядок на диаграмме. – sofsntp

+0

Спасибо за очень полезный ответ с несколькими альтернативами! – Deverill