2016-01-26 2 views
0

Я знаю, что эта тема обсуждалась в нескольких статьях, но ни одно из решений не помогло мне.Rotativa - ViewAspdf не работает на сервере

У меня есть это действие:

public ActionResult DownloadViewPDF(string userId) 
     { 
      var model = db.MyCvs.FirstOrDefault(u => u.UserId == userId); 

      if (model != null) 
       return new Rotativa.ViewAsPdf("ViewUserCv", model) { FileName = model.FirstName + model.LastName + "_CV.pdf" }; 
      return Content("there is no Cv to download"); 
     } 

Использование выше действия я скачиваю вид как PDF, и все работает, как ожидается, на моем компьютере.

После развертывания проекта на сервере, это действие не работает, возвращается сообщение об ошибке:

An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

Я использую Visual Studio Community 2015. На сервере у меня есть Rotativa.dll, а также папки в корневом каталоге с именем Rotativa с файлом внутри с именем wkhtmltopdf.exe.

Я не знаю, как справиться с этой ошибкой, можете ли вы дать мне несколько предложений?

ответ

3

Я нашел очень простой учебник, как исправить мою проблему с rotativa, для тех, которые имеют один и тот же вопрос, пожалуйста, с этим руководством:

Sample process to generate PDF with Rotativa in Asp.Net MVC

на основе этого урока, все, что нам нужно сделать заключается в следующем:

Загрузить DLLs:

  • msvcp120.dll
  • msvcr12 0.dll

т.к. Rotativa нужен компонент «Visual C++ Redistributable для Visual Studio».

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\X64\msvcp120.dll

C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Packages\Debugger\X64\msvcr120.dll

You can refer above path on your local with your own specified path to find it. 
Upload them to "Rotativa" folder. 
+0

Я нашел отсутствующая dll в «C: \ Windows \ System32» (Windows 7, x64) –

+1

Это работало и на меня. Я добавил две библиотеки DLL в папку Rotatoria, и на сервере не было проблем. msvcp120.dll и msvcr120.dll – shazia

+1

Связать атрофию со временем. Пожалуйста, добавьте сводный текст/код из ссылки, чтобы гарантировать, что этот ответ остается актуальным/точным с течением времени. – SomethingOn

-1

То, что сработало для меня, я имел файлы, отсутствующие в папке Rotativa,

help-wkhtmltoimage.txt 
help-wkhtmltopdf.txt 
msvcp120.dll 
msvcp140.dll 
msvcr120.dll 
vcruntime140.dll 
wkhtmltoimage.exe 
wkhtmltopdf.exe 
wkhtmltox.dll 

После того, как я положил эти файлы, он работал как шарм

Смежные вопросы