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

时间:2015-03-25 16:26:44

标签: asp.net razorengine

我在使用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,但是这个方法的重载也必须支持我的版本。

请帮助。

2 个答案:

答案 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;