![.NET Core .NET Core](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgXm_xGTBZrgJkL779NWFz042Us-0a8MWqA3hSQvoY9cPd8_JB0j0m9Japs85ewr9qkg3eqbjw7h42XAXiEUw1aI1fcWFemFa6otnTw8aEIm2yQgcvh5wCjjAUOvdDolYXugqnN1A/s1600/netcore.png)
A raíz de los posts sobre generadores de código (como éste y éste), un amigo del blog me escribió para ver si de alguna forma era posible examinar el código fuente generado para poder depurarlo con mayor facilidad.
Y en efecto, es posible. Pero en vez de responderle directamente, he pensado que sería mejor compartirlo por aquí, de forma que pueda resultar de utilidad para alguien más :)
Por defecto, los archivos añadidos al proyecto por los generadores no llegan a tocar tierra, pues se gestionan directamente en memoria. Sin embargo, podemos forzar su escritura a disco, basta con añadir la siguiente sección al archivo .csproj
del proyecto consumidor del generador:
<PropertyGroup>
<EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles>
<CompilerGeneratedFilesOutputPath>$(BaseIntermediateOutputPath)\GeneratedFiles</CompilerGeneratedFilesOutputPath>
</PropertyGroup>
Según esta configuración, los archivos generados serán depositados en la carpeta /obj/GeneratedFiles
del proyecto. En esa carpeta, a su vez, encontraremos una carpeta por cada ensamblado generador incluido en el proyecto y, dentro de ésta otra subcarpeta específica para cada generador.
Espero que os sea de utilidad :)
Aún no hay comentarios, ¡sé el primero!
Enviar un nuevo comentario