Определите, будет ли MSBuild CoreCompile работать и вызывать пользовательскую цель
Это кажется очевидной вещью, которую я хочу сделать, но я выдернул большую часть своих волос, пытаясь найти какие-либо примеры в Интернете или сделать это сам.
У меня есть решение c # с 19 проектами и сервером сборки Jenkins, на котором выполняется скрипт сборки для управления MSBuild. MSBuild, конечно, определит, что нужно и что не нужно компилировать на основе входных и выходных данных.
Я пытаюсь создать пользовательскую цель для условного обновления AssemblyInfo.cs тех проектов, которые MSBuild собирается скомпилировать для увеличения версий файлов. Конечно, я хочу оставить проекты не в одиночку.
Я знаю, как внедрить цель до CoreBuild, который запускается каждый раз, поэтому, если есть какая-то переменная, я могу проверить, будет ли происходить компиляция, которая может работать. Я также знаю, как определить, выполнялась ли компиляция и, следовательно, условно выполнить некоторую постобработку, что возможно, но не идеально.
Как я могу настроить процесс сборки для достижения этой цели?
Поскольку кажется, что прямого ответа на этот вопрос нет, кто-нибудь знает, как выполнить ту же логику, что и MSBuild, чтобы определить, какие проекты требуют перестройки?