COM / Interop - поддержка нескольких версий - PullRequest
3 голосов
/ 03 ноября 2008

Я написал консольное приложение .NET, которое оборачивает механизм переноса CuteFTP - COM-объект (ftpte). Я обернул версию CuteFTP 7.0. Я хотел бы также поддерживать версию 8.0, поскольку некоторые клиенты, с которыми я интегрируюсь, имеют эту версию.

В моем проекте Visual Studio есть ссылка на COM-объект CuteFTP ... как я могу ссылаться на компонент версии 8.0 и при этом поддерживать версию 7.0? Мне кажется, что я вынужден выбирать во время разработки, если я не сделаю больше архитектурного изменения.

Идеи? * * 1005

Ответы [ 2 ]

4 голосов
/ 03 ноября 2008

Посмотрите на мой хобби проект с открытым исходным кодом MS Office Wrapper for .NET . Используется «позднее связывание», которое позволяет использовать другую версию библиотек COM.

3 голосов
/ 03 ноября 2008

Вам необходимо указать самую низкую версию, которую вам необходимо поддерживать, и, учитывая, что новая версия не меняет API, а просто добавляет новые функциональные возможности, у вас должно быть все в порядке. Но разработчики приложений явно не должны нарушать API.

Таким образом, вы пропустите любую новую функциональность, добавленную в более новой версии, но по крайней мере старая функциональность должна работать.

...