Я работаю над плагиновой системой, которая загружает DLL, содержащуюся в указанной папке. Затем я использую рефлексию для загрузки сборок, итерации по типам, которые они содержат, и идентификации любых, которые реализуют мой интерфейс IPlugin
.
Я проверяю это с помощью кода, подобного следующему:
foreach(Type t in myTypes )
{
if( typeof(IPlugin).IsAssignableFrom(t) )
{
...
}
}
По какой-то причине IsAssignableFrom() продолжает возвращать false, когда он должен возвращать true. Я попытался заменить t
, явно передав ему тип, который должен пройти, и он работает нормально, но по какой-то причине он не работает с типами, которые возвращаются из загруженной сборки. Чтобы сделать вещи более странными, код отлично работает на моей совместной машине, но не на моем.
Кто-нибудь знает что-нибудь, что может вызвать подобное поведение?
Спасибо