Determine si MSBuild CoreCompile se ejecutará y llamará a un destino personalizado

Esto parece algo obvio que se debe querer hacer, pero me he sacado la mayor parte del pelo tratando de encontrar algún ejemplo en la web o hacerlo yo mismo.

Tengo una solución c # con 19 proyectos y un servidor de compilación Jenkins ejecutando un script de compilación para impulsar MSBuild. MSBuild, por supuesto, determinará qué hace y qué no necesita compilarse en función de las entradas en lugar de las salidas.

Estoy tratando de crear un destino personalizado para actualizar condicionalmente el AssemblyInfo.cs de esos proyectos que MSBuild va a compilar para incrementar las versiones del archivo. Por supuesto quiero dejar los proyectos que no están siendo compilados solos.

Sé cómo inyectar un objetivo antes del CoreBuild que se ejecuta cada vez, de modo que si hay alguna variable que pueda probar para ver si se producirá una compilación que pueda funcionar. También sé cómo determinar si se ejecutó una compilación y, por lo tanto, realizar un procesamiento posterior que es posible pero no ideal.

¿Cómo puedo modificar mi proceso de construcción para lograr esto?

Como parece que no hay una respuesta directa a la pregunta, ¿alguien sabe cómo realizar la misma lógica que MSBuild para determinar qué proyectos requieren una reconstrucción?

Respuestas a la pregunta(4)

Su respuesta a la pregunta