.NET Outlook Automation - Обеспечение будущей совместимости - PullRequest
2 голосов
/ 12 июля 2010

Я автоматизирую некоторые функции Outlook в приложении .NET. Работает отлично. Я компилирую его и использую v 12.0.0.0 сборки Outlook Interop.

Мой код должен работать на любой версии Outlook, поэтому кажется глупым связывать его с определенной версией.

Можно ли использовать отражение для этого вместо компиляции ссылки?

Являются ли сборки взаимодействия по умолчанию на ПК, на которых установлен Office, или мне нужно включить их в мое приложение?

Я помню, что с COM я имел обыкновение говорить что-то вроде CreateObject ("Outlook.Application"), не нуждаясь в сильной ссылке. Я хотел бы попробовать что-то подобное здесь. Я полагаю, что я мог бы просто использовать COM без сборки Interop .NET в качестве резервного плана.

Любой совет?

Спасибо

Ответы [ 2 ]

3 голосов
/ 12 июля 2010

Обязанность Microsoft поддерживать совместимость COM-интерфейсов.Требуется в COM, опубликованный интерфейс никогда не может измениться.За эти годы они проделали потрясающую работу, это должно было быть трудно.

Но вам нужно будет выбрать какую-то версию PIA для таргетинга и избегать использования интерфейсов, которые стали доступны в более поздних выпусках.Вам решать, как далеко вы хотите вернуться, мы не знаем, какие интерфейсы вы используете.Загрузите его из MSFT и выберите его в диалоговом окне Добавить ссылку.Office XP - самый ранний вариант, вам нужно создать свой собственный, если вы хотите 2000.

1 голос
/ 12 июля 2010

Вы можете отключить PIA v12 с вашим приложением, и оно будет работать с будущими версиями.

Я сделал это сам.

...