Estoy tratando de generar HTML basado en un archivo .cshtml, que está incrustado:
<EmbeddedResource Include="Templates\ReportTemplate.cshtml" />Sin embargo, de RazorLight siempre obtengo la siguiente excepción:
RazorLight.TemplateNotFoundException: Project can not find template with key My.Namespace.Application.Templates.ReportTemplate.cshtml at RazorLight.Compilation.RazorTemplateCompiler.CreateRuntimeCompilationWorkItem(String templateKey) at RazorLight.Compilation.RazorTemplateCompiler.OnCacheMissAsync(String templateKey) at RazorLight.Compilation.RazorTemplateCompiler.CompileAsync(String templateKey) at RazorLight.EngineHandler.CompileTemplateAsync(String key) at RazorLight.EngineHandler.CompileRenderAsync[T](String key, T model, ExpandoObject viewBag)Pero cuando reviso los recursos incrustados, puedo ver claramente el recurso incrustado:
string[] files = Assembly.GetExecutingAssembly().GetManifestResourceNames(); los files contienen: My.Namespace.Application.Templates.ReportTemplate.cshtml
Aquí está mi código para generar el PDF:
private async Task<string> RenderRazorTemplate(string key, Type viewModelType, object viewModel) { string[] files = Assembly.GetExecutingAssembly().GetManifestResourceNames(); var engine = new RazorLightEngineBuilder() .UseEmbeddedResourcesProject(Assembly .GetExecutingAssembly()) // Use the Executing Assembly as project that embeds the .cshtml templates .SetOperatingAssembly(viewModelType.Assembly) // Without this, you'll get a Exception saying that the Assembly can't find the AntiForgery.dll .UseMemoryCachingProvider() .Build(); return await engine.CompileRenderAsync(key, viewModel); }Mis parámetros son: Clave: My.Namespace.Application.Templates.ReportTemplate.cshtml
Estoy usando RazorLight.NetCore3 Versión 3.0.2
hola, lograste encontrar una solucion? estoy enfrentando el mismo problema