Просто немного информации, которая может помочь другим; если вы делаете что-то вроде поиска во всех сборках в некотором каталоге классов, которые наследуют / реализуют классы / интерфейсы, то убедитесь, что вы удаляете устаревшие сборки, если вы получаете эту ошибку, относящуюся к одной из ваших собственных сборок.
Сценарий будет выглядеть примерно так:
- Сборка A загружает все сборки в какую-то папку
- Сборка B в этой папке устарела, но ссылки на сборку C
- Сборка C существует, но пространства имен, имена классов или некоторые другие детали могли измениться за время, прошедшее с того момента, как сборка B устарела (в моем случае пространство имен было изменено в процессе рефакторинга)
Вкратце: A --- нагрузки -> B (устаревшие) --- ссылки ---> C
Если это происходит, единственным сигнальным знаком является пространство имен и имя класса в сообщении об ошибке. Изучите это внимательно. Если вы не можете найти его в своем решении, скорее всего, вы пытаетесь загрузить устаревшую сборку.