загрузить сборку во время выполнения

2

Я загружаю свою сборку во время выполнения (но эта сборка не завершена проектом)

Assembly a = Assembly.LoadFile(@"fulpath\assName.dll");

после этого я хочу использовать один класс из этой DLL путем отражения

obj = Activator.CreateInstance(Type.GetType("assemblyqualifiedname"));
mi = obj.GetType().GetMethod("methodname");
mi.Invoke(obj, null);

К сожалению, бык возвращается с Type.GetType("assemblyqualifiedname");

Я не понимаю, почему я должен добавить ссылку dll для проекта?

Загрузка сборки должна быть достаточной, но она не делает.

спасибо...

  • 0
    Я не знаю, зачем вам нужно загружать вашу сборку - но, может быть ... посмотрите на структуру плагинов, такую как MEF ( codeplex.com/MEF )
Теги:
assemblies

3 ответа

3

При загрузке сборки вручную вы должны использовать метод getType. Type.getType будет использовать вызывающую сборку и ее ссылку для поиска типа. a.GetType найдет этот тип, потому что он выглядит внутри загруженной сборки.

2
0

Как вы возражаете против добавления ссылки на DLL в проекте?

Ещё вопросы

Сообщество Overcoder
Наверх
Меню