В настоящее время я использую msbuild для решения более 600 проектов.
Представьте, что я изменяю код для 1 библиотеки, которая используется в 10 проектах. Вместо того, чтобы предоставить все 600 проектов для msbuild и позволить ему скомпилировать их все и выяснить зависимости. Мне было интересно, есть ли программа или библиотека, которую я мог бы использовать, чтобы проанализировать зависимости всех 600 проектов и позволить мне скомпилировать только те 11, которые необходимы.
Другими словами, учитывая входные данные для сканирования всех 600 проектов и BaseLibrary.csproj как проект, для которого был изменен параметр, предоставьте мне только 11 проектов, которые мне нужно скомпилировать в качестве вывода.
У меня есть опыт написания пользовательских задач, я бы лучше использовал стороннюю библиотеку для анализа зависимостей, если она уже есть.
Моя компания выпускает инкрементные выпуски каждые 3-4 месяца. В качестве эксперимента я написал пользовательское задание, которое смотрит на предыдущие выпуски «Subversion tag» и оценивает все скомпилированные файлы, которые изменились с тех пор, и сопоставляет их с проектом.
Единственный вариант использования, о котором я могу подумать, что он не работает, это тот, который я упомянул, когда базовая библиотека изменена, и система не знает обо всех проектах, которые зависят от нее.