Когда вы ссылаетесь на неуправляемую библиотеку (например, «A.dll»), которая, в свою очередь, ссылается на другую библиотеку («B.dll»), а B.dll отсутствует, вы получите сообщение об ошибке во время выполнения не удается загрузить 'B.dll'.
Но когда вы запускаете P / Invoke в 'A.dll' из управляемого кода, вы получите общее исключение из этой формы:
Необработанное исключение: System.DllNotFoundException: невозможно загрузить DLL 'A.dll': указанный модуль не найден.
Как я могу получить сообщение об ошибке, которое указывает конкретный неуправляемый dll-файл, который не удалось загрузить, когда p / вызывается из управляемого кода?