Asp.net mvc 4 Rotativa文件仅在服务器上找不到

Asp.net mvc 4 Rotativa文件仅在服务器上找不到,asp.net-mvc-4,rotativa,Asp.net Mvc 4,Rotativa,我正在使用Rotativa ActionasPDF()从MVC4项目中的视图生成pdf。它在我的本地实例上完美地工作,但我只是将整个解决方案复制到我的服务器上,它不工作。我得到错误“系统找不到指定的文件”,但我不确定它所说的是什么文件。我想这是关于Rotativa dll,但我的服务器上也有生成的Rotativa文件夹。解决方案与我的本地副本完全相同。我的网站托管在IIS 8、windows 2012服务器上。研究人员告诉我,我可能对某个文件夹有权限问题,但我不确定它们是哪一个。我只是暂时将我所

我正在使用Rotativa ActionasPDF()从MVC4项目中的视图生成pdf。它在我的本地实例上完美地工作,但我只是将整个解决方案复制到我的服务器上,它不工作。我得到错误“系统找不到指定的文件”,但我不确定它所说的是什么文件。我想这是关于Rotativa dll,但我的服务器上也有生成的Rotativa文件夹。解决方案与我的本地副本完全相同。我的网站托管在IIS 8、windows 2012服务器上。研究人员告诉我,我可能对某个文件夹有权限问题,但我不确定它们是哪一个。我只是暂时将我所有的控制器和视图设置为777权限。不走运。你知道我遗漏了什么,或者我如何确保dll在我的服务器上注册了吗

以下是我的控制器操作方法:

public ActionResult DownloadFile(int id = 0)
    {
        var filename = string.Format("Invoice{0}.pdf", id);

        return new ActionAsPdf("Invoice" + "/" + id, new { name = "Invoice" + id }) { FileName = filename, PageSize = Size.Letter, PageOrientation = Orientation.Portrait, PageMargins = new Margins(0, 0, 0, 0) };
    }

服务器上需要有VisualC++可重分配包。您可以从这里下载软件包:

检查是否在服务器上的rotativa目录中添加了所有文件-

libeay32.dll

wkhtmltopdf.exe


等等。

旧线程,但我有同样的问题,所以我想为将来搜索的人分享解决方案

确保在服务器上安装了正确的VS Redistributable,或在Rotativa文件夹中安装了文件


使用服务器IP地址而不是DNS名称。我不知道为什么会这样,但如果我弄明白了,我会编辑它。

您需要在Nuget中更新Rotativa、Rotativa.Core、Rotativa.MVC