Tengo un componente y quiero verlo generado por el archivo RazorSourceGenerator *_razor.g.cs.
Anteriormente, con VS2019 y .Net5, podía abrir la carpeta "\obj\Debug\net5.0\Razor\Pages" y encontrar los archivos generados allí.
Ahora, si tengo algún error de compilación en el componente *.razor, puedo ver un mensaje de error que hace referencia a la carpeta "\Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator" pero no no hay tal carpeta. Parece que se elimina después de que el proyecto se haya compilado.
¿Hay alguna forma de conservar esta carpeta para ver el resultado de la compilación del archivo *.razor?
Puede establecer la propiedad EmitCompilerGeneratedFiles en verdadero en su csproj.
Esta es una buena descripción de cómo funciona y las opciones de dónde se escriben los archivos.
Gracias, señor Maggo, por señalar el artículo. Déjame publicar la respuesta completa.
Para conservar los archivos *_razor.g.cs generados, establezca la propiedad EmitCompilerGeneratedFiles en el archivo del proyecto. Pero en este caso, no podrá ver el código generado al hacer doble clic en el error en la ventana Salida o Lista de errores porque los archivos se guardarán en
obj\Debug\generated\Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGeneratorforlder Pero el error se referirá a
Microsoft.NET.Sdk.Razor.SourceGenerators\Microsoft.NET.Sdk.Razor.SourceGenerators.RazorSourceGenerator\ carpeta. Por lo tanto, debe especificar que los archivos deben conservarse en esta carpeta configurando la propiedad CompilerGeneratedFilesOutputPath .
Entonces, la respuesta breve es agregar esto a su archivo de proyecto en la sección del proyecto:
<PropertyGroup> <EmitCompilerGeneratedFiles>true</EmitCompilerGeneratedFiles> <CompilerGeneratedFilesOutputPath>.</CompilerGeneratedFilesOutputPath> </PropertyGroup>