Как быть уверенным, что Assembly.LoadFrom действительно загружает DLL-файл? - PullRequest
2 голосов
/ 19 июля 2010

Я пытаюсь добавить свои плагины в мое приложение через Assembly.LoadFrom, и я хотел бы знать, есть ли свойство, чтобы знать, какой тип сборки был загружен - динамически связанные библиотека и исполняемые файлы могут быть загружены, верно? *

Спасибо!

Ответы [ 2 ]

6 голосов
/ 19 июля 2010

Вы можете определить, загрузила ли сборка, возвращенная функцией LoadFrom, EXE или DLL, используя свойство Assembly.EntryPoint. Если свойство возвращает MethodInfo для функции точки входа, то вы имеете дело с EXE.

Из MSDN:

Тип: System.Reflection.MethodInfo Объект которая представляет собой точку входа эта сборка. Если нет точки входа найдено (например, сборка является DLL), возвращается ноль.

http://msdn.microsoft.com/en-us/library/system.reflection.assembly.entrypoint.aspx

1 голос
/ 19 июля 2010

Если вы хотите узнать, был ли это файл .exe или .dll, вы можете проверить Assembly.Location .

...