Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

547
Vistas
RazorLight RazorLight.TemplateNotFoundException: el proyecto no puede encontrar la plantilla con la clave

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

over 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

hola, lograste encontrar una solucion? estoy enfrentando el mismo problema

almost 4 years ago · john obasi Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda