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