我正在使用“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。
任何人的想法。
非常感谢
答案 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