我在使用RazorEngine 3.6.3版时遇到问题 RazorEngine无法转换为' string' to' 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,但是这个方法的重载也必须支持我的版本。
请帮助。
答案 0 :(得分:2)
使用此RazorEngineServiceExtensions.RunCompile(service,emailTemplate.Body,emailTemplate.UniqueName,modelType:null,model:_model)解决;
答案 1 :(得分:1)
这使我能够解决我不同但相似的问题。谢谢!
除了使用Engine.Razor.RunCompile之外,我得到了基本相同的错误消息:
Engine.Razor.RunCompile("templateid", templateHtml, null, new { Name = "World" });
如果文档说你必须只包含RazorEngine.Templating命名空间,我需要同时包含RazorEngine和RazorEngine.Templating。
using RazorEngine;
using RazorEngine.Templating;