Как получить недостающие ссылки из исключения - PullRequest
0 голосов
/ 21 февраля 2019

Я только что развернул свое приложение на новом сервере.

При запуске я получил это исключение.

System.IO.FileNotFoundException: Could not load file or assembly 'PDFNet.dll'
or one of its dependencies. The specified module could not be found.

I после нескольких часов отладки и повторного добавления ссылок Iузнал о обходчике зависимостей.

Оказалось, что новый сервер отсутствует Распространяемый пакет Microsoft Visual C ++ 2010

Теперь мой вопрос:

Есть ли способ получить эту информацию из исключения или из другого места во время выполнения, чтобы я мог показать полезное окно сообщения и правильно зарегистрировать ошибку?

1 Ответ

0 голосов
/ 21 февраля 2019

Как указано в комментариях к ответу, по умолчанию эта информация недоступна.

Однако проблема связана с развертыванием.

Я только что развернул свое приложениена новом сервере.

Поскольку вы развертываете на сервере, вы знаете, является ли он 64-битным или 32-битным, и вы можете установить зависимость один раз (или сделать ее частью ваших зависимостей развертывания).

Или вы можете поместить две DLL-библиотеки времени выполнения C ++ в то, что является рабочим каталогом процесса, использующего PDFNet, если это очевидное и стабильное расположение.

Так что я бы хотелне рекомендуется беспокоиться о проверке во время выполнения, что нетривиально, и вместо этого просто убедитесь, что эта зависимость ясна при создании новых серверов.Оказавшись там, и при условии, что никто не удаляет DLL, он всегда будет работать нормально.

I после нескольких часов отладки и повторного добавления ссылок

Извините за любые неудобствас этим.Для будущих читателей эта информация доступна здесь.https://www.pdftron.com/documentation/windows/guides/deployment#net

...