¿Cómo hacer que Visual Studio relea los archivos fuente después del procesamiento BeforeBuild?

He escrito un preprocesador de C # que he incorporado a mis proyectos .csproj invocandolo usando el objetivo BeforeBuild MSBuild. Esto funciona bien, excepto que cuando el preprocesador ha modificado uno o más de los archivos de origen de C # en el proyecto (ocurre muy raramente), el paso de compilación de C # utiliza una versión en caché del archivo de origen. Una vez que se completa la compilación, Visual Studio me pide un mensaje "nombre de archivo esto o aquello. Este archivo se ha modificado fuera del editor de origen. ¿Desea volver a cargarlo?". Entonces, tengo que responder Sí y reconstruir el proyecto para que use los archivos fuente modificados.

¿Hay alguna forma de hacer que Visual Studio detecte que los archivos de origen se han modificado y use las versiones actualizadas en su paso de compilación? ¿O debería invocar mi preprocesador de alguna otra manera en lugar de utilizar el objetivo BeforeBuild?

Respuestas a la pregunta(2)

Su respuesta a la pregunta