Надстройка VSTO: Как сделать одну надстройку из 3 надстроек для 3 версий Outlook? - PullRequest
0 голосов
/ 25 июня 2019

У меня есть три надстройки, которые делают примерно одно и то же, но один для Outlook 2010, один для 2013 и один для 2016. Я изучал пару дней, как (и если это вообще возможно)сделайте так, чтобы у меня был только один вариант, который можно установить в трех версиях Outlook.

Я знаю, что надстройка для Outlook 2016 использует несколько объектов (и, возможно, событий), которых нет в Outlook 2010, но я уверен, что это не так уж и плохо, что я могу просто проверить версию, когда запускается событие запуска, и перейти оттуда?

Я очень новичок в надстройках VSTO, поэтому яеще ничего не пробовал, но из того, что я прочитал, все они должны быть в состоянии работать с любой версией, при условии нескольких настроек?Проблема в том, что я даже не уверен в этом, потому что я видел много разных мнений по этому поводу (люди говорят, что это возможно, а другие говорят: «Нет, просто нет»), и даже если бы я был, я думаю, что яПонятно, могут ли быть проблемы совместимости из-за PIA?

Я просто понятия не имею, куда идти, на самом деле.

1 Ответ

1 голос
/ 25 июня 2019

VSTO позволяет создавать надстройки, поддерживающие несколько версий Office.Подробнее об этом читайте в статье Запуск решений в разных версиях Microsoft Office .

Обратите внимание, вам нужно использовать PIA, которые соответствуют самой низкой поддерживаемой версии Office.В этом случае вы можете убедиться, что исключение во время выполнения не сработало участником, которого нет в новой версии Office.Во время выполнения вы можете проверить версию хост-приложения и использовать технологию позднего связывания, представленную Reflection в мире разработки .net, для получения дополнительной информации см. Type.InvokeMember .

Также вы можете рассмотреть возможность использования Надстройка Express .Они позволяют создавать независимые от версии надстройки из коробки.

...