Типа есть сборка, она юзает сборку А, а её юзает сборка Б, и ты делаешь, что сборка Б юзает сборку А директивно
не. есть условно сборка А. Её юзает сборка Б. Которую юзает сборка С
мсбилд такое билдит последовательно, при том что компилятор вообще-т может работать паралльно (парсинг лексер).
Но компилятор бессилен, т.к. его на запустят на проекте Б пока не выполнится сборка проекта А. Косяк
Надо использовать и параллелизм компилятора и мсбилда по максимуму.
Для начала схлопнем все три проекта в один и получим параллелизм компилятора (он ограничен).
Но уже збс
Теперь разделим проект на независимые куски чтобы получить чот типа
A -
\
B - - D
C - /
и тогда мсбилд сможет параллельно запустить A, B, C, в которых компилятор будет чот делать паралльльно
ну и на последок останется маленький проект D, который всё это юзает