Поделиться через


Разработка надстроек

Обновлен: Ноябрь 2007

Как правило, существует три группы разработчиков, которые работают с надстройками и конвейерами: разработчики основных приложений, разработчики конвейеров и разработчики надстроек.

Организации, разрабатывающие основные приложения, также разрабатывают пакет SDK, который описывает модель объектов, которая будет служить основой для разработчиков надстроек. Этот пакет SDK содержит сборку представления надстройки, которая содержит абстрактный базовый класс или интерфейс, который должен быть реализован надстройкой, а также абстрактные базовые классы и интерфейсы, которые представляют типы, передаваемые между основным приложением и надстройкой. Эта работа также может включать в себя и создание полноценного конвейера.

Разработка надстройки

Существует несколько ограничений для класса, определяющего надстройку:

  • Класс должен иметь атрибут AddInAttribute. Этот атрибут указывает имя надстройки и, дополнительно, описание, издателя и версию.

  • Этот класс должен быть производным из базового класса надстройки в представлении надстройки.

  • Этот класс должен реализовывать методы базового класса надстройки.

Помимо этих требований разработка надстройки похожа на разработку любого другого компонента .NET Framework. Также необходимо понимать различные аспекты конвейера. Разработчик надстройки должен реализовывать только методы в представлении надстройки.

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

Развертывание не является сложным. Все что необходимо сделать — это скопировать сборку надстройки в собственную папку в каталоге надстроек, указанном в основном приложении. Многие основные приложения сами вызывают метод Update, что делает развертывание надстройки простой операцией копирования. Другие переложат ответственность на разработчиков надстроек. В этом случае надстройка будет вызывать предоставленную сборку addinutil.exe в каталоге framework во время установки.

См. также

Основные понятия

Разработка конвейера

Требования к разработке конвейера

Контракты, представления и адаптеры

Обнаружение надстройки

Другие ресурсы

Надстройки и расширения среды