2008-09-30 8 views
6

Quiero crear una tarea personalizada de MSBuild que cambie mis archivos .cs antes de que sean compilados por csc.exe (pero, por supuesto, eso no los modifica en lugar - No quiero que se toquen los archivos originales). Conozco PostSharp y otros frameworks de AOP para .NET y no son una opción para este proyecto en particular, además me gustaría aprender cómo hacer esto.Crear tarea personalizada de MSBuild para modificar el código C# * antes * compilar

¿Qué tengo que hacer exactamente para que esto funcione?

Gracias Richard

Respuesta

5

teniendo en cuenta sus restricciones Creo que se puede hacer lo siguiente:

  1. Crear tarea personalizada que acepta la lista de archivos cs para adaptarse antes de la compilación
  2. Los adapte tareas personalizados 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. El resultado de la tarea reemplazará la lista original de archivos cs
  5. La compilación se realiza con los archivos modificados.

El paso 4 asegura que los archivos que finalmente se compilan son los que ha modificado su tarea personalizada.

Va a depender en gran medida de la interfaz ITaskItem para el trabajo.

+0

Genial, voy a intentarlo - gracias Jorge – ZeroBugBounce

+0

¿Puedes dar un ejemplo? – nrofis

Cuestiones relacionadas