Использование DLL Graphviz в приложении asp.net С#

Я использую DLL Graphviz в приложении asp.net, я использую метод, описанный здесь, для доступа к Dll через мой код С#: -

http://implicitoperator.com/blog/2010/4/11/graphviz-c-sample.html

http://implicitoperator.com/blog/2009/12/24/rendering-an-in-memory-graphviz-image-with-c.html

Все работает так, как я ожидаю на своей локальной машине во время отладки, и получаю pdf файл моего графика.

Проблема в том, что приложение развертывается на нашем сервере UAT, граф не генерируется. Никаких исключений не возникает, и, похоже, ошибок нет, я просто получаю пустой PDF файл вместо PDF с графиком.

Я проверил, что приложение имеет правильные разрешения для вызова неуправляемого кода, я проверил, что приложение может найти DLL графического объекта, и я проверил, что точечный код, входящий в вызов метода, тот же локально, что и на сервер. Все отлично проверено.

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

Ответ 1

Идея попробовать: загрузите основную версию Graphviz Dll в файл depend.exe http://en.wikipedia.org/wiki/Dependency_Walker.

Возможно, вы являетесь отсутствующей зависимостью.

Ответ 2

Как вы регистрируете DLL? Дважды проверьте web.config на сервере (возможно, вы что-то пропустили)?

Также, как и Justin C, убедитесь, что на сервере нет временной папки, которую dll использует для потоковой записи/создания PDF файлов. Возможно, вам придется разрешить права на запись в эту папку и т.д.