Razorengine“无法编译模板。请查看错误列表以获取详细信息。”

时间:2011-11-17 09:14:15

标签: asp.net-mvc razor templating

我正在使用“Razorengine”从cshtml模板生成电子邮件主体。 在调试模式(VS 2010)中运行应用程序时,一切运行良好。 模板渲染得很好,模型中的所有数据都按需要插入。

但是当我发布应用程序时。到我的本地IIS服务器(win 7 pro)我收到错误“无法编译......” 当我发布到一个实时IIS服务器(在线主机)时,我收到另一个错误(“RazorEngine.Razor的类型初始化器'引发了异常。”

cshtml模板以

开头
@inherits "RazorEngine.Templating.TemplateBase <Ebits.EnrolmentLCMT.Core.boekingBeheer.resumeBoekingObject>

它包含引用模型

的样式表,html和razor标签

我在我的代码中打电话:

resumeBoekingObject resumeBoeking = boekingBeheer.getBoekingResume(boeking, taal);
string mailBodyTemplate = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("../htmlPages/confirmMailTemplate.cshtml"));
string mailBodyTekst = Razor.Parse<resumeBoekingObject>(mailBodyTemplate, resumeBoeking);

!!我确信模板读得很好,因为我在邮件中将它用作bodytekst。

任何人的想法。

非常感谢

1 个答案:

答案 0 :(得分:0)

对于您的实时IIS服务器,您可能在部署中缺少MVC3 DLL(我的猜测是System.Web.Razor.dll)。检查GAC(C:\ Windows \ assembly)是否存在它在错误的未发布部分中列出的文件,并检查BIN目录中是否存在丢失的文件。

我今晚遇到了类似的问题,并在此处找到了相关信息:http://haacked.com/archive/2011/05/25/bin-deploying-asp-net-mvc-3.aspx