У меня есть приложение С# .Net 2.0CF, в котором я хотел бы загрузить DLL-плагин .NET во время выполнения.
Насколько я понимаю, я должен иметь возможность использовать System.Reflection.Assembly.LoadFrom()
для загрузки DLL в сборку. Затем используйте Assembly.GetTypes()
, чтобы получить список типов в плагине, чтобы сопоставить их с моими ожидаемыми интерфейсами.
Проблема в том, что когда я звоню GetTypes()
, я получаю System.TypeLoadException()
. Основываясь на сообщении об исключении, я предполагаю, что это связано с тем, что этот конкретный плагин ссылается на какую-то другую сборку, о которой эта программа ничего не знает. Но в этом и смысл того, что это плагин! Я не хочу, чтобы мое приложение что-либо знало об этих других сборках.
Как я могу загрузить эту подключаемую DLL, не имея ссылки на каждую сборку, используемую в подключаемом модуле?
Спасибо, PaulH