У меня есть проект, который должен собрать несколько данных и поместить их в один файл PDF, для этого я использовал оболочку Rotativa. Он отлично работает на моем локальном кластере сервисной фабрики, и я могу сгенерировать pdf, используя ViewAsPdf, а затем получить байтовый массив, чтобы прикрепить его к электронной почте. Проблема возникает, когда я развернул проект в Azure (кластер сервисной структуры), и я получаю эту ошибку:
at Rotativa.AspNetCore.WkhtmlDriver.Convert(String wkhtmlPath, String switches, String html, String wkhtmlExe)\r\n at Rotativa.AspNetCore.WkhtmltopdfDriver.ConvertHtml(String wkhtmltopdfPath, String switches, String html)\r\n at Rotativa.AspNetCore.ViewAsPdf.<CallTheDriver>d__19.MoveNext()\r\n--- End of stack trace from previous location where exception was thrown ---
То, что я пробовал:
- Установленные распространяемые пакеты Visual C ++ для Visual Studio 2013 и 2015 в версиях x64 и x86 на узле сервисной фабрики (где развертывается проект)
- Переместил папку Rotativa из wwwroot в корневой путь проекта и установил путь в методе RotativaConfiguration.Setup ()
- Скопировал msvcp120.dll и msvcr120.dll в папку Rotativa
- Установлен wkhtmltopdf.exe в узле сервисной фабрики
- Я установил пакет Nuget Rotativa.AspNetCore 1.0.6
- Я использую ViewAsPdf для визуализации бритвы и вызываю метод BuildFile для получения байтового массива
- Если я запустил wkhtmltopdf.exe в командной строке на узле сервисной фабрики, я получаю: «Не удалось правильно запустить приложение (0xc000007b) Нажмите« ОК », чтобы закрыть приложение»
Узел сервисной фабрики является машиной Windows. Проект построен с ядром Aspnet 2.0
Любая помощь будет оценена. Спасибо!