Что происходит, когда я выполняю функцию DllImport, которая недоступна на платформе времени выполнения? - PullRequest
6 голосов
/ 21 февраля 2010

Я ранее спрашивал, Как определить цель символической ссылки или точки повторной обработки? ... и получил ответ, в котором предлагалось использовать функцию Win32 GetFinalPathNameByHandle , функцию, впервые доступную в Vista.

Что произойдет, если я соберу сборку .NET, а затем попытаюсь запустить ее на WinXP или WS2003, у которого нет функции GetFinalPathNameByHandle ? Есть ли исключение времени выполнения, и если да, то какое? Есть ли способ для меня, чтобы справиться с этим делом в коде приложения?

1 Ответ

7 голосов
/ 21 февраля 2010

Вы получите EntryPointNotFoundException при вызове метода.

Если весь файл DLL не существует, вместо него вы получите DllNotFoundException.

...