Rotativa 组件在 MVC 项目中生成 pdf 时抛出错误 Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.1

Rotativa component throws error Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.1 while generating the pdf in MVC project

我已经使用此组件根据动态视图内容生成 pdf 文档。在 DEV 和 Staging 环境中测试时,它工作正常,在生产环境中,它抛出如下所示的错误。

Could not load file or assembly 'System.Web.Mvc, Version=3.0.0.1, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Rotativa 版本:1.0.0.0

System.Web.Mvc版本:5.2.3.0

我在 web.config 中给出了绑定重定向,如下所示。

bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0"

代码:

var pdfLetter = new Rotativa.ViewAsPdf(viewName, viewModel);

pdfLetter.FileName = fileName;

pdfLetter.PageSize = Rotativa.Options.Size.A4;

pdfLetter.PageOrientation = Rotativa.Options.Orientation.Portrait;

pdfLetter.PageMargins = new Rotativa.Options.Margins { Left = 4, Right = 1 };

var letterBytes = pdfLetter.BuildPdf(ControllerContext);

return letterBytes;

Web 应用程序未在任何地方引用 3.0.0.1 版本,但它仍然会抛出错误。尝试检查可用的 Stack Overflow 线程来修复。

有没有人遇到同样的问题并且有任何解决方法可以解决?

两个环境之间的 MVC 重定向配置值不匹配,系统无法识别它。通过从头开始创建 web.config 重定向部分解决了这个问题。