我在我的项目(Asp.net MVC 4)中使用RazorEngine V 3.0.8来解析电子邮件模板。我在我的项目中使用system.web.dll版本1.0.0。 我的电脑上的所有东西都可以作为本地网站使用并且可以工作。但在服务器上显示此错误:
无法加载文件或程序集&System; Web.Razor,Version = 2.0.0.0, Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个 依赖。系统找不到指定的文件。
但我在我的项目中没有使用System.Web.Razor,Version = 2.0.0.0。 当我将System.Web.Razor,Version = 2.0.0.0添加到我的项目中时,我遇到了使用RazorEngine解析电子邮件模板的问题,并显示了此错误:
System.IO.FileLoadException:无法加载文件或程序集 ' System.Web.Razor,Version = 1.0.0.0,Culture = neutral, 公钥= 31bf3856ad364e35'或其中一个依赖项。该 定位程序集的清单定义与程序集不匹配 参考。 (来自HRESULT的异常:0x80131040)文件名: ' System.Web.Razor,Version = 1.0.0.0,Culture = neutral, 公钥= 31bf3856ad364e35'在 RazorEngine.Compilation.DefaultCompilerServiceFactory.CreateCompilerService(语言 语言) RazorEngine.Templating.TemplateService.CreateTemplateType(字符串 razorTemplate,Type modelType)at RazorEngine.Templating.TemplateService.CreateTemplate [T](字符串 razorTemplate,T型号)at RazorEngine.Templating.TemplateService.Parse [T](String razorTemplate, T模型)在RazorEngine.Razor.Parse [T](String razorTemplate,T 模特) System.Dynamic.UpdateDelegates.UpdateAndExecute3 [T0,T1,T2,TRET](调用点 site,T0 arg0,T1 arg1,T2 arg2)at Service.Implementation.EmailService.InitializeTemplate(字符串 templateBody,Object model)in C:\巴德尔\服务\执行\ EmailService.cs:行 21点 System.Dynamic.UpdateDelegates.UpdateAndExecute3 [T0,T1,T2,TRET](调用点 site,T0 arg0,T1 arg1,T2 arg2)at Service.Implementation.EmailService.SendSingleEmail(String from,from String name,String [] to,String subject,String templateBody,Object model,EmailSendMethod sendMethod)in C:\巴德尔\服务\执行\ EmailService.cs:行 32在CallSite.Target(Closure,CallSite,EmailService,String, String,String [],String,String,Object,EmailSendMethod)at System.Dynamic.UpdateDelegates.UpdateAndExecute8 [T0,T1,T2,T3,T4,T5,T6,T7,TRET](调用点 site,T0 arg0,T1 arg1,T2 arg2,T3 arg3,T4 arg4,T5 arg5,T6 arg6, T7 arg7)at Service.Implementation.EmailService.SendSingleEmail(String from,from String name,String to,String subject,String templateBody,Object model,EmailSendMethod sendMethod)in C:\巴德尔\服务\执行\ EmailService.cs:行 27点 Service.Implementation.UserEmailService.SendLicenseToUser(Guid令牌) 在 C:\巴德尔\服务\执行\ UserEmailService.cs:行 86点 Web.Controllers.PurchaseController.CreatePurchaseAndSendEmail(IEnumerable`1 cartItems)in C:\巴德尔\网络\ \控制器PurchaseController.cs:行 759
警告:装配绑定日志记录已关闭。要启用程序集绑定 失败日志记录,设置注册表值 [HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)为1.注意:有 与程序集绑定失败相关的一些性能损失 日志记录。要关闭此功能,请删除注册表值 [HKLM \ SOFTWARE \微软\融合!EnableLog]。
请帮助我该怎么办?
答案 0 :(得分:0)
我查看了你的堆栈跟踪,看起来它正在尝试加载 System.Web.Razor,Version = 1.0.0.0 不是System.Web.Razor,Version = 2.0.0.0 所以请尝试检查Web.config文件中的引用,您也可以尝试使用System.Web.Razor.dll部署您的站点(选择始终复制)也许这个帮助