Pregunta

Quiero crear una tarea MSBuild personalizada que cambie mis archivos .cs antes de que sean compilados por csc.exe (pero, por supuesto, eso no los modifica en su lugar, no quiero que se toquen los archivos de origen reales) . Soy consciente de PostSharp y otros marcos AOP para .NET y no son una opción para este proyecto en particular, además me gustaría aprender cómo hacerlo.

¿Qué debo hacer para que esto funcione?

Gracias Richard

¿Fue útil?

Solución

Dadas tus restricciones, creo que puedes hacer lo siguiente:

  1. Cree una tarea personalizada que acepte la lista de archivos cs para adaptarse antes de la compilación
  2. La tarea personalizada adapta la lista de archivos recibidos y los crea en el disco
  3. La tarea personalizada establece la lista de archivos modificados en el parámetro de salida
  4. La salida de la tarea reemplazaría la lista de archivos cs original
  5. La compilación se realiza contra los archivos modificados.

El paso 4 garantiza que los archivos que finalmente se compilan son los que se modificaron en tu tarea personalizada.

Dependerá en gran medida del ITaskItem interfaz para el trabajo.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top