Архитектура надстроек уровня приложения
Надстройки, которые создаются с использованием средств разработчика Office в Visual Studio, обладают архитектурными особенностями, подчеркивающими стабильность и безопасность, а также позволяющими тесно взаимодействовать с Microsoft Office.В этом разделе описываются следующие аспекты надстроек:
Основные сведения о надстройках
Компоненты надстроек
Особенности работы надстроек в приложениях системы Microsoft Office 2007
Применение. Сведения этого раздела применяются к проектам уровня приложения для Microsoft Office 2013 Preview и Microsoft Office 2010. Дополнительные сведения см. в разделе Доступность функций по типам приложений Office и проектов.
Общие сведения о создании надстроек см. в разделах Общие сведения о разработке решений Office и Приступая к программированию надстроек на уровне приложения.
Основные сведения о надстройках
При построении надстройки с помощью средств разработчика Office в Visual Studio создается управляемый код сборки, загружаемый приложением Microsoft Office.После загрузки сборки надстройка может использоваться для обработки событий, возникающих в приложении (например, при выборе пункта меню).В надстройке также поддерживается обращение к объектной модели и любым классам .NET Framework, что позволяет автоматизировать и расширить функциональные возможности приложения.
Сборка взаимодействует с COM-компонентами приложения посредством основной сборки взаимодействия приложения.Дополнительные сведения см. в разделах Основные сборки взаимодействия Office и Общие сведения о разработке решений Office.
При установке нескольких надстроек в приложении, каждая настройка загружается в отдельном домене приложения.Это означает, что некорректное поведение одной надстройки не приведет к неудачному завершению других надстроек.Это также способствует тому, что при закрытии приложения все сборки надстроек выгружаются из памяти.Дополнительные сведения о доменах приложений см. в разделе Домены приложений.
![]() |
---|
Надстройки, создаваемые с помощью средств разработчика Office в Visual Studio, разработаны для использования только при запуске приложения Microsoft Office конечным пользователем.Если приложение запускается программным способом (например, с помощью автоматизации), надстройка может не работать как ожидалось. |
Компоненты надстроек
Несмотря на то, что сборка надстроек является основным компонентом, существует несколько других компонентов, играющих важную роль в процессах обнаружения и загрузки надстроек приложениями Microsoft Office.
Разделы реестра
Нахождение надстроек приложениями Microsoft Office осуществляется при поиске набора записей реестра.Полный список записей реестра, используемых надстройками, см. в разделе Записи реестра для надстроек уровня приложения.
При построении решения Visual Studio создает все обязательные записи реестра на компьютере разработчика, упрощая отладку и запуск надстройки.Для получения дополнительной информации см. Построение решений Office.
Если для развертывания решения используется технология ClickOnce, программа установки, созданная при публикации, автоматически создает разделы реестра на компьютере пользователя.Для получения дополнительной информации см. Развертывание решения Office с помощью ClickOnce.
Манифест развертывания и манифест приложения
Надстройки используют манифесты развертывания и манифесты приложения для идентификации и загрузки самой свежей версии сборки надстройки.Манифест развертывания указывает на текущий манифест приложения.Манифест приложения указывает на сборку надстройки и задает класс точки входа для выполнения в сборке.Дополнительные сведения см. в разделе Манифесты приложения и развертывания в решениях Office.
Среда выполнения Visual Studio Tools for Office
Чтобы запустить надстройки, созданные с помощью средств разработчика office в Visual Studio, на компьютерах пользователей должны иметь Visual Studio Tools for Office (cреда выполнения) устанавливается. Среда выполнения обеспечивает неуправляемые компоненты и набор управляемых сборок.Неуправляемые компоненты загружают сборку надстройки.Управляемые сборки предоставляют объектную модель, которую код надстройки использует для автоматизации и расширения возможностей ведущего приложения.
Дополнительные сведения см. в разделе Общие сведения об инструментах Visual Studio для среды выполнения Office.
Особенности работы надстроек в приложениях системы Microsoft Office 2007
При запуске приложения в системе Microsoft Office 2007 используется манифест развертывания и манифест приложения для размещения и загрузки последней версии сборки надстройки.На рисунке ниже показана основная архитектура этих надстроек.
Архитектура надстройки
![]() |
---|
В решениях Office, целевой объект .NET Framework 4 или .NET Framework 4.5 решения вызывает к объектной модели ведущего приложения, используя сведения о типе сборки взаимодействия, внедренный в сборке решения, вместо вызова сборки взаимодействия напрямую.Дополнительные сведения см. в разделе Проектирование и создание решений Office. |
Процесс загрузки
При запуске приложения происходит следующее.
Приложение проверяет реестр на наличие записей, идентифицирующих надстройки, созданные с помощью средств разработчика Office в Visual Studio.
Если записи реестра обнаруживаются, приложение загружает файл VSTOEE.dll, который, в свою очередь, загружает файл VSTOLoader.dll.Эти неуправляемые библиотеки DLL, компоненты загрузчика для средств Visual Studio 2010 для выполнения office.Дополнительные сведения см. в разделе Общие сведения об инструментах Visual Studio для среды выполнения Office.
VSTOLoader.dll загружает .NET Framework и запускает управляемую часть среды Visual Studio Tools for Office (cреда выполнения).
Среда Visual Studio Tools for Office (cреда выполнения) проверяет наличие обновлений и производит загрузку недавних приложений и манифестов развертывания.
Среда Visual Studio Tools for Office (cреда выполнения) выполняет серию проверок безопасности.Дополнительные сведения см. в разделе Обеспечение безопасности решений Office.
Если надстройка имеет необходимый для выполнения уровень доверия, то среда Visual Studio Tools for Office (cреда выполнения) использует манифест развертывания и манифест приложения для поиска обновлений сборки.Если новая версия сборки доступна, то среда выполнения загружает эту новую версию сборки в кэш ClickOnce на клиентском компьютере.Дополнительные сведения см. в разделе Развертывание решения Office.
Среда Visual Studio Tools for Office (cреда выполнения) создает новый домен приложения для загрузки сборки надстройки.
Среда Visual Studio Tools for Office (cреда выполнения) загружает сборку надстройки в домен приложения.
Среда Visual Studio Tools for Office (cреда выполнения) вызывает метод RequestComAddInAutomationService в надстройке в случае выполнения переопределения.
При необходимости можно переопределить данный метод, чтобы предоставить другим решениям Microsoft Office доступ к объекту в данной надстройке.Дополнительные сведения см. в разделе Вызов кода в надстройках уровня приложения из других решений Office.
Среда Visual Studio Tools for Office (cреда выполнения) вызывает метод RequestService в надстройке в случае выполнения переопределения.
Для расширения возможностей Microsoft Office 2007 можно переопределить данный метод, возвращая объект, реализующий интерфейс расширения.Дополнительные сведения см. в разделе Настройка функций пользовательского интерфейса с помощью интерфейсов расширяемости.
Примечание
Среда Visual Studio Tools for Office (cреда выполнения) производит отдельные вызовы метода RequestService для каждого интерфейса расширения, поддерживаемого ведущим приложением.Несмотря на то, что первый вызов метода RequestService обычно предшествует вызову метода ThisAddIn_Startup, надстройка может не делать предположений по поводу времени и количества вызовов метода RequestService.
Среда Visual Studio Tools for Office (cреда выполнения) вызывает метод ThisAddIn_Startup в надстройке.Этот метод является обработчиком события Startup по умолчанию.Для получения дополнительной информации см. События в проектах Office.
См. также
Основные понятия
Архитектура настроек на уровне документа
Общие сведения об инструментах Visual Studio для среды выполнения Office
Другие ресурсы
Архитектура решений Office в Visual Studio
Программирование надстроек уровня приложения