Architecture of VSTO Add-ins

Надстройки VSTO, созданные с помощью Office Developer Tools в Visual Studio, имеют архитектурные компоненты, предназначенные для обеспечения стабильности и безопасности и позволяющие им тесно взаимодействовать с Microsoft Office. В этой статье описываются следующие аспекты надстроек VSTO.

Общие сведения о надстройках VSTO

При использовании средств разработчика Office в Visual Studio для создания надстройки VSTO создается управляемая сборка кода, загруженная корпорацией Майкрософт Приложение Office lication. После загрузки сборки надстройка VSTO может отвечать на события, возникающие в приложении (например, если пользователь выбирает пункт меню). Надстройка VSTO также может вызывать объектную модель для автоматизации и расширения приложения, и она может использовать любой из классов в платформа .NET Framework.

Сборка взаимодействует с COM-компонентами приложения посредством основной сборки взаимодействия приложения. Дополнительные сведения см. в разделе "Основные сборки взаимодействия Office" и обзор разработки решений Office (VSTO).

Если для приложения установлены несколько надстроек VSTO, каждая надстройка VSTO загружается в свой домен приложения. Это означает, что некорректное поведение одной надстройки VSTO не может привести к сбою других надстроек VSTO. Это также позволяет гарантировать, что при закрытии приложения все сборки надстроек VSTO будут выгружены из памяти. Дополнительные сведения о доменах приложений см. в разделе "Домены приложений".

Примечание.

Надстройки VSTO, создаваемые с помощью Office Developer Tools в Visual Studio, предназначены для использования только в том случае, когда ведущее приложение Microsoft Office запускается конечным пользователем. Если приложение запускается программным образом (например, с помощью автоматизации), надстройка VSTO может не работать должным образом.

Компоненты надстроек VSTO

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

Записи реестра

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

При сборке вашего решения Visual Studio создает все необходимые записи реестра на компьютере разработчика, что позволяет выполнять отладку надстройки VSTO и запускать ее. Дополнительные сведения см. в статье "Сборка решений Office".

Если вы используете ClickOnce для развертывания решения, программа установки, созданная процессом публикации, автоматически создает разделы реестра на компьютере конечного пользователя. Дополнительные сведения см. в статье "Развертывание решения Office с помощью ClickOnce".

Манифест развертывания и манифест приложения

Надстройки VSTO используют манифесты развертывания и манифесты приложения для обозначения и загрузки самой последней версии сборки надстройки VSTO. Манифест развертывания указывает на текущий манифест приложения. Манифест приложения указывает на сборку надстройки VSTO и задает класс точки входа для выполнения в сборке. Дополнительные сведения см . в манифестах приложений и развертываний в решениях Office.

Набор средств Visual Studio для Office (среда выполнения)

Чтобы запустить надстройки VSTO, созданные с помощью средств разработчика Office в Visual Studio, конечные пользователи должны установить среду выполнения набор средств Visual Studio для Office. Среда выполнения содержит неуправляемые компоненты и набор управляемых сборок. Неуправляемые компоненты загружают сборку надстройки VSTO. Управляемые сборки предоставляют объектную модель, которую ваш код надстройки VSTO использует для автоматизации и расширения ведущего приложения.

Дополнительные сведения см. в набор средств Visual Studio для Office обзоре среды выполнения.

Как надстройки VSTO работают с приложениями Microsoft Office

Когда пользователь запускает приложение Microsoft Office, приложение использует манифест развертывания и манифест приложения для поиска и загрузки последней версии сборки надстройки VSTO. На рисунке ниже показана основная архитектура этих надстроек VSTO.

2007 Office add-in architecture

Примечание.

В решениях Office, предназначенных для платформа .NET Framework 4 или платформа .NET Framework 4.5, решения вызывают объектную модель ведущего приложения с помощью сведений о типе PIA, внедренных в сборку решения, вместо вызова непосредственно в PIA. Дополнительные сведения см. в статье "Проектирование и создание решений Office".

Процесс загрузки

Когда пользователь запускает приложение, происходит следующее:

  1. Приложение проверяет реестр на наличие записей, обозначающих надстройки VSTO, созданные с помощью Office Developer Tools в Visual Studio.

  2. Если приложение находит эти записи реестра, оно загружает файл VSTOEE.dll, который загружает файл VSTOLoader.dll. Эти файлы представляют собой неуправляемые библиотеки DLL и являются компонентами загрузчика для среды выполнения набора средств Visual Studio 2010 для Office. Дополнительные сведения см. в набор средств Visual Studio для Office обзоре среды выполнения.

  3. VSTOLoader.dll загружает платформа .NET Framework и запускает управляемую часть среды выполнения набор средств Visual Studio для Office.

  4. Среда выполнения набор средств Visual Studio для Office проверка для обновлений манифеста и загружает последние манифесты приложения и развертывания.

  5. Среда выполнения набор средств Visual Studio для Office выполняет ряд проверка безопасности. Дополнительные сведения см. в разделе "Безопасные решения Office".

  6. Если надстройка VSTO является доверенной, среда выполнения набор средств Visual Studio для Office использует манифест развертывания и манифест приложения для проверка обновлений сборок. Если доступна новая версия сборки, среда выполнения скачивает новую версию сборки в кэш ClickOnce на клиентском компьютере. Дополнительные сведения см. в статье "Развертывание решения Office".

  7. Среда выполнения набор средств Visual Studio для Office создает новый домен приложения, в котором загружается сборка надстройки VSTO.

  8. Среда выполнения набор средств Visual Studio для Office загружает сборку надстройки VSTO в домен приложения.

  9. Среда выполнения набор средств Visual Studio для Office вызывает RequestComAddInAutomationService метод в надстройке VSTO, если вы переопределили его.

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

  10. Среда выполнения набор средств Visual Studio для Office вызывает RequestService метод в надстройке VSTO, если вы переопределили его.

    При необходимости этот метод можно переопределить для расширения возможностей Microsoft Office путем возврата объекта, который реализует интерфейс расширения. Дополнительные сведения см. в разделе "Настройка возможностей пользовательского интерфейса с помощью интерфейсов расширяемости".

    Примечание.

    Среда выполнения набор средств Visual Studio для Office выполняет отдельные вызовы RequestService метода для каждого интерфейса расширяемости, поддерживаемого ведущим приложением. Несмотря на то что первый вызов в метод RequestService обычно происходит перед вызовом в метод ThisAddIn_Startup , ваша надстройка VSTO не должна делать никаких предположений о том, когда будет вызван метод RequestService или сколько раз он будет вызываться.

  11. Среда выполнения набор средств Visual Studio для Office вызывает ThisAddIn_Startup метод в надстройке VSTO. Этот метод является обработчиком событий по умолчанию для события Startup . Дополнительные сведения см. в разделе "События" в проектах Office.