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

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

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

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

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

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

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

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

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

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

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

См. также

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

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

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

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

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

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