RazorEngine 3.6.3 无法从 'string' 转换为 'RazorEngine.Templating.ITemplateKey

RazorEngine 3.6.3 cannot convert from 'string' to 'RazorEngine.Templating.ITemplateKey

我对 RazorEngine 版本 3.6.3 有疑问 RazorEngine 无法从 'string' 转换为 'RazorEngine.Templating.ITemplateKey

我的代码如下:

        var templateServiceConfiguration = new TemplateServiceConfiguration();
        templateServiceConfiguration.Namespaces.Add("System.Configuration");

        var body = string.Empty;

        using (var service = RazorEngineService.Create(templateServiceConfiguration))
        {
            body = service.RunCompile(emailTemplate.Body, emailTemplate.UniqueName, model: _model, modelType: null, viewBag: null);
        }

所以这个方法service.RunCompile(第一个参数ITemplateKey是什么,但是还有这个方法的重载必须支持我的版本。

拜托,帮忙。

使用这个 RazorEngineServiceExtensions.RunCompile(service, emailTemplate.Body, emailTemplate.UniqueName, modelType: null, model: _model);

这个巧合使我能够解决我不同但相似的问题。谢谢!

除了在使用 Engine.Razor.RunCompile 时,我得到的错误消息基本相同:

Engine.Razor.RunCompile("templateid", templateHtml, null, new { Name = "World" });

文档说你只能包含 RazorEngine.Templating 命名空间,我需要同时包含 RazorEngine 和 RazorEngine.Templating.

using RazorEngine;
using RazorEngine.Templating;