не удается найти «библиотеку объектов Microsoft Outlook 15.0» в Visual Studio 2012 - PullRequest
0 голосов
/ 09 мая 2018

У меня Visual Studio 2012 Professional Edition, и я хочу добавить ссылку на «Microsoft Outlook 15.0 Object Library» внутри моего веб-проекта, но я не могу найти его в COM, вот скриншот из моей Visual Studio : -

enter image description here

Так может ли кто-нибудь посоветовать, как я могу добавить «Библиотеку объектов Microsoft Outlook 15.0» в моей Visual Studio 2012?

Ответы [ 2 ]

0 голосов
/ 11 мая 2018

как добавить библиотеку объектов Microsoft Outlook 15.0 в мою визуальную студию 2012

Похоже, вам просто нужно сначала установить Outlook.

В любом случае Microsoft в настоящее время не рекомендует и не поддерживает автоматизацию приложений Microsoft Office из любых неинтерактивных клиентских приложений или компонентов без присмотра (включая ASP, ASP.NET, DCOM и NT Services), поскольку Office может нестабильное поведение и / или тупиковая ситуация при работе Office в этой среде.

Если вы создаете решение, работающее в контексте на стороне сервера, вы должны попытаться использовать компоненты, которые были сделаны безопасными для автоматического выполнения. Или вы должны попытаться найти альтернативы, которые позволяют хотя бы части кода работать на стороне клиента. Если вы используете приложение Office из серверного решения, приложению не хватит многих необходимых возможностей для успешной работы. Кроме того, вы будете рисковать стабильностью вашего общего решения. Подробнее об этом читайте в статье Особенности серверной автоматизации Office .

В качестве обходного пути вы можете рассмотреть возможность использования низкоуровневого API, на котором основан Outlook - Extended MAPI. Или просто используйте сторонние обертки вокруг этого API.

Если вы имеете дело только с учетной записью Exchange, вы можете также рассмотреть возможность использования EWS или Outlook REST API, для получения дополнительной информации см. Управляемый API EWS, EWS и веб-службы в Exchange .

0 голосов
/ 09 мая 2018

Хорошо, если Outlook не установлен, как вы можете ожидать, что его библиотека типов будет присутствовать?Конечно, вы можете создать dll взаимодействия на компьютере, где установлен Outlook , но ваш код все равно не будет работать без присутствия Outlook.

Хуже того, Outlook (как и любой другой)Приложение Office) не может работать в службе (например, IIS).Вы можете использовать Extended MAPI (C ++ или Delphi) для редактирования файлов OFT, но делать это в C # далеко не тривиально.И вам все равно нужно будет установить Outlook, чтобы система Extended MAPI присутствовала.В C # вы можете попытаться использовать Redemption - для этого по-прежнему требуется система MAPI, но в отличие от OOM его семейство объектов RDO может использоваться в сервисе.В вашем случае вы можете вызвать RDOSession . GetMessageFromMsgFile (работает как с файлами MSG, так и OFT), изменить свойство Subject возвращенного объекта RDOMail , а затем вызвать RDOMail.Save.

...