Мне кажется вероятным получить согласованный наилучший ответ, но, похоже, я нигде не могу его найти.
У меня есть приложение, которое загружает и использует классы, которые реализуют определенный интерфейс. Классы реализации будут написаны кем-то другим, и я хочу отправить им минимум, необходимый для успешной реализации интерфейса.
Пока лучшее, что я придумал, это следующее:
Прикладное решение, которое содержит:
Проект, который содержит только определение интерфейса и компилируется в dll.
Проект для приложения, которое использует интерфейс и ссылается на dll.
Отдельное решение для примера реализации, которое собирает в dll и ссылается на интерфейс dll.
Это лучший способ сделать это? т.е. распространять скомпилированную версию интерфейса всем, кому требуется реализовать интерфейс.
Я попытался использовать только копию исходных файлов интерфейса в примере реализации, и моему приложению не удалось распознать класс как реализующий интерфейс. Это можно ожидать, или мой код загрузки класса прослушивается (он работает, когда пример ссылается на предварительно скомпилированную dll)?