В решении у меня есть зависимый проект, настроенный как проекты в стиле SDK:
- Proj A отвечает за выполнение некоторых рутинных задач в качестве задачи MsBuild.
- Проект Proj B, требующий такой обработки для корректной компиляции
- Задача настроена в Проекте Б как цель MsBuild с атрибутом BeforeTargets = "CoreCompile".
Исходя из этого, Proj A должен быть полностью скомпилирован перед запуском задачи по компиляции Proj B. Оба проекта имеют разные цели компиляции (NetStandard20 и Net462). Поэтому я не мог сделать прямую ссылку, но установил зависимость проекта для всего решения, установив для свойства AddSyntheticProjectReferencesForSolutionDependencies значение false (в противном случае msbuild пытается сделать зависимость проекта принудительной).
В этой настройке MsBuild иногда дает сбой при компиляции: Proj A начал компиляцию, но не завершился вовремя, когда Proj B запустил задачу. MSBuild запускается на машине CI с ключом / m.
Любые идеи приветствуются.