Обзор модели программирования расширений средств SharePoint
При создании расширения для средств SharePoint в Visual Studio можно разрабатывать путем реализации один или несколько интерфейсов расширяемости, которые предоставлены средствами SharePoint.В большинстве случаев для реализации функциональных возможностей расширения используются и другие типы, предоставляемые средствами SharePoint.В некоторых случаях могут также использоваться типы из других объектных моделей Visual Studio и SharePoint.Чтобы успешно создавать расширения средств SharePoint, необходимо понимать назначение каждой из этих объектных моделей и уметь использовать их друг с другом.
Расширение возможностей средств SharePoint путем реализации интерфейсов расширяемости
В Visual Studio для обеспечения модели расширяемости средств SharePoint используется средство Managed Extensibility Framework (MEF), являющееся частью платформы .NET Framework 4.MEF — это API-интерфейс (реализованный в сборке System.ComponentModel.Composition), позволяющий приложениям предоставлять точки расширяемости, а также обнаруживать и загружать расширения во время выполнения.Дополнительные сведения о MEF см. в разделе Managed Extensibility Framework (MEF).
Для расширения средств SharePoint необходимо реализовать один или несколько интерфейсов расширяемости, предоставляемых Visual Studio.Также необходимо применить атрибут System.ComponentModel.Composition.ExportAttribute (и при необходимости дополнительные атрибуты для конкретных средств SharePoint) к реализованному интерфейсу.В следующей таблице перечислены интерфейсы, которые можно реализовать для расширения средств SharePoint.
Интерфейс |
Описание |
---|---|
Реализуйте этот интерфейс, чтобы определить новый тип элемента проекта SharePoint.Пример см. в разделе Практическое руководство. Определение типа элементов проектов SharePoint. |
|
Реализуйте этот интерфейс, чтобы расширить тип элемента проекта SharePoint, который уже установлен в Visual Studio.Пример см. в разделе Практическое руководство. Создание расширения элемента проекта SharePoint. |
|
Реализуйте этот интерфейс для расширения проектов SharePoint.Пример см. в разделе Практическое руководство. Создание расширения проекта SharePoint. |
|
Реализуйте этот интерфейс, чтобы определить новый этап развертывания, который может быть выполнен при развертывании или отзыве элемента проекта SharePoint.Пример см. в разделе Пошаговое руководство. Создание пользовательского шага развертывания для проектов SharePoint. |
|
Реализуйте этот интерфейс, чтобы расширить существующий узел в узле Подключения SharePoint в окне Обозреватель серверов.Пример см. в разделе Практическое руководство. Расширение узла SharePoint в обозревателе сервера. |
|
Реализуйте этот интерфейс, чтобы определить новый тип узла в узле Подключения SharePoint в окне Обозреватель серверов.Пример см. в разделе Практическое руководство. Расширение узла SharePoint в обозревателе сервера. |
|
Реализуйте этот интерфейс, чтобы определить настраиваемое правило проверки компонента.Пример см. в разделе Практическое руководство. Создание пользовательских правил проверки компонентов и пакетов для решений SharePoint. |
|
Реализуйте этот интерфейс, чтобы определить настраиваемое правило проверки пакета.Пример см. в разделе Практическое руководство. Создание пользовательских правил проверки компонентов и пакетов для решений SharePoint. |
После реализации расширения средств SharePoint необходимо развернуть сборку расширения в пакете расширений Visual Studio (VSIX), чтобы система Visual Studio могла обнаружить и загрузить расширение.Дополнительные сведения см. в разделе Разработка расширений для средств SharePoint в Visual Studio.
Общие сведения об объектных моделях, используемых в расширениях средств SharePoint
Есть несколько объектных моделей, которые можно использовать при создании расширений средств SharePoint.
Объектная модель средств SharePoint.Эта объектная модель предоставляет интерфейсы расширяемости, реализуемые для создания расширений средств SharePoint и других связанных типов.
Объектные модели автоматизации и интеграции Visual Studio.Используйте эти объектные модели для доступа к функциям Visual Studio, не относящимся к объектной модели средств SharePoint.
Примечание
Некоторые объекты в объектной модели средств SharePoint можно преобразовать в объекты в объектных моделях автоматизации и интеграции Visual Studio и наоборот, используя для этого службу проектов SharePoint.Дополнительные сведения см. в разделе Преобразование между типами системы проектов SharePoint и другими типами проектов Visual Studio.
Клиентская и серверная объектные модели SharePoint.Используйте эти объектные модели для изменения сайта SharePoint или извлечения данных с сайта SharePoint через расширение средств SharePoint.
Объектная модель средств SharePoint
В каждом расширении средств SharePoint типы объектной модели SharePoint используются для определения базового поведения и функциональных возможностей расширения.В следующей таблице описаны пространства имен, входящие в состав этой объектной модели.
Сборка |
Пространство имен |
Описание |
---|---|---|
Microsoft.VisualStudio.SharePoint.dll |
Содержит типы, используемые для расширения и автоматизации системы проектов SharePoint.Например, можно расширять встроенные проекты и элементы проектов SharePoint, а также создавать собственные элементы проектов.Дополнительные сведения см. в разделе Расширение системы проектов SharePoint. |
|
Содержит типы, используемые для расширения процесса развертывания проектов SharePoint, например для самостоятельного создания шагов развертывания и конфигураций развертывания.Дополнительные сведения см. в разделе Расширение упаковки и развертывания проектов SharePoint. |
||
Содержит типы, используемые для расширения узлов в узле Подключения SharePoint в окне Обозреватель серверов или для определения новых типов узлов.Дополнительные сведения см. в разделе Расширение узла подключений SharePoint в обозревателе сервера. |
||
Содержит типы, которые позволяют обращаться к определениям компонентов в проекте SharePoint. |
||
Содержит типы, которые позволяют обращаться к определению пакета в решении SharePoint. |
||
Содержит типы, которые позволяют настраивать поведение проверки компонентов и пакетов в проектах SharePoint.Дополнительные сведения см. в разделе Практическое руководство. Создание пользовательских правил проверки компонентов и пакетов для решений SharePoint. |
||
Microsoft.VisualStudio.SharePoint.Commands.dll |
Содержит типы, с помощью которых можно создавать настраиваемые команды SharePoint.Команда SharePoint представляет собой метод, вызывающий серверную объектную модель SharePoint из расширения средств SharePoint.Дополнительные сведения см. в разделе Вызов объектных моделей SharePoint. |
|
Microsoft.VisualStudio.SharePoint.Explorer.Extensions.dll |
Содержит типы, используемые для получения информации о встроенных узлах обозревателя серверов, которые представляют отдельные компоненты на сайте SharePoint, такие как узел, представляющий список, поле или тип содержимого.Дополнительные сведения см. в разделе Расширение узла подключений SharePoint в обозревателе сервера. |
Объектная модель автоматизации Visual Studio
Модель автоматизации Visual Studio обеспечивает интерфейсы API, позволяющие автоматизировать проекты и интерфейс IDE Visual Studio.Объектную модель Visual Studio следует использовать для выполнения относящихся к проектам задач, которые не имеют отношения исключительно к проектам SharePoint, либо для выполнения других задач автоматизации Visual Studio общего плана.Обычно эта объектная модель используется в надстройках и макросах Visual Studio, но ее также можно применять и в расширениях средств.
Основная часть модели автоматизации объектов Visual Studio определена в сборке EnvDTE.dll.Сборки, EnvDTE80.dll, EnvDTE90.dll, EnvDTE100.dll и EnvDTE110.dll обеспечивают дополнительные функциональные возможности, появившаяся в Visual Studio 2005, Visual Studio 2008, Visual Studio 2010 и Visual Studio 2012 соответственно.Эти сборки входят в состав Visual Studio.
Дополнительные сведения об объектной модели автоматизации см. в разделах Расширение среды Visual Studio и Справочник по автоматизации и возможностям расширения среды.
Объектная модель интеграции Visual Studio
Объектная модель интеграции предоставляет интерфейсы API, с помощью которых можно добавлять в Visual Studio функции путем создания пакетов VSPackage.VSPackage — это модуль, расширяющий интерфейс IDE Visual Studio, предоставляя пользовательские компоненты, такие как окна инструментов, редакторы, конструкторы, службы и проекты.
Модель интеграции позволяет добавлять новые компоненты Visual Studio, которые будут использоваться со встроенными средствами SharePoint.Например, при создании пользовательского элемента проекта SharePoint, представляющего настраиваемое действие для сайта SharePoint, можно также создать пакет VSPackage, реализующий конструктор для данного настраиваемого действия.Можно связать конструктор с пользовательским действием, добавив элемент контекстного меню с элементом проекта, представляющий настраиваемое действие в Обозреватель решений.Можно открыть конструктор, открыв его контекстное меню (либо щелкнув правой кнопкой мыши элемент проекта настраиваемого действия или путем выбора его, а затем выберите пункт миграция + F10 ключи), а затем выбрать Открыть.
Эта объектная модель определена в наборе сборок, входящих в пакет SDK Visual Studio.Некоторые из основных сборок в этой модели объектов включают Microsoft.VisualStudio.Shell.11.0.dll, Microsoft.VisualStudio.Shell.Interop.dll и Microsoft.VisualStudio.OLE.Interop.dll.
Дополнительные сведения об объектной модели интеграции см. в разделах Интегрированная среда разработки Visual Studio модели и Справочник по использованию SDK в Visual Studio.
Объектные модели SharePoint
Расширения средств SharePoint могут использовать для изменения сайта SharePoint или извлечения данных с сайта SharePoint API-интерфейсы SharePoint.В Microsoft SharePoint Foundation 2010 и Microsoft SharePoint Server 2010 предоставляется две разных объектных модели: серверная объектная модель и клиентская объектная модель.
В расширениях средств SharePoint можно использовать API любой из объектных моделей, но каждая из них обладает определенными преимуществами и недостатками в контексте расширений средств SharePoint.Дополнительные сведения см. в разделе Вызов объектных моделей SharePoint.
Объектная модель |
Описание |
---|---|
Серверная объектная модель |
Серверная объектная модель предоставляет доступ ко всем функция, доступным в Microsoft SharePoint Foundation 2010 и Microsoft SharePoint Server 2010 через программные средства.Эта объектная модель предназначена для использования в решениях SharePoint, которые выполняются на сервере SharePoint.Большая часть элементов этой объектной модели определена в сборке Microsoft.SharePoint.dll.Дополнительные сведения о серверной объектной модели см. в разделе Using the SharePoint Foundation Server-Side Object Model. |
Клиентская объектная модель |
Клиентская объектная модель представляет собой подмножество серверной объектной модели, которое можно использовать для работы с данными SharePoint с удаленного клиента или сервера.Она призвана минимизировать число циклов пересылки данных, необходимых для выполнения стандартных задач.Большая часть элементов этой объектной модели определена в сборках Microsoft.SharePoint.Client.dll и Microsoft.SharePoint.Client.Runtime.dll.Дополнительные сведения о клиентской объектной модели см. в разделе Managed Client Object Model. |
См. также
Основные понятия
Вызов объектных моделей SharePoint
Интегрированная среда разработки Visual Studio модели
Использование службы проектов SharePoint