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