Есть большая СИСТЕМА — приложение, написанное на C#. В одном солюшине много проектов ну и т.д. Хочется сделать плагинную систему, чтобы другие люди писали плагины (dll-ки) и использовали их в приложении. Для этого были взяты классы и интерфейсы из разных проектов этого солюшена и сделаны стабы по ним. Стабы это когда мы выкидываем код, заменяя его на return или return null или return (какое-нибудь значение примитивного типа); Т.е. у нас от классов остается только скелет. Так вот, все эти стабы подсовываем пользователю в качестве одной dll. Он ее использует для того, чтобы просто скомпиляться. Т.е. если ему необходимо имплементить интерфейс — берет его из стабов.. Нужен внутренний логгер, ссылается на класс из стабов..
Все замечательно. НО! Когда загружаю скомпиленную библиотечку в приложении он мне пишет, что существуют два интерфейса (назовем их IPlugin) с разными гуидами.. Меня это сильно расстроило.. Как джава разработчик я на такие грабли еще не наступал.. Прописал для этого интерфейса гуид руками.. в приложении и в стаб библиотеке (один и тотже есесно). НО.. все равно не может скастить зараза.. Господа, подскажите как мне быть в такой ситуации.
Как вариант можно сделать отдельную библиотеку, которой пользуются и приложение и разработчики плагинов — но это бы очень не хотелось.. Ибо придется городить туда много чего (логгеры, интерфейсы одни, интерфейсы другие и т.д) или поставлять кучу dll в SDK для плагинов.. этого бы тоже не хотелось.. Спасибо. Жду Ваших советов