Разработка расширений для средств SharePoint в Visual Studio
Чтобы развернуть расширение инструментов SharePoint, создайте пакет расширения Visual Studio (VSIX), который содержит сборку расширения и любые другие файлы, которые предполагается распространять с расширением.Пакет VSIX — это сжатый файл, удовлетворяющий стандарту Open Packaging Conventions (OPC).Для пакетов VSIX используется расширение VSIX.
После создания пакета VSIX другие пользователи могут запустить VSIX-файл для установки расширения.Когда пользователь установит расширение, все файлы перед установлены %UserProfile% \ AppData \ local \ Microsoft \ VisualStudio \ 11,0 \ extensions.Чтобы развернуть расширение, можно загрузить пакет VSIX на веб-сайт Visual Studio Gallery или распределить пакет среди клиентов другим способом, таким как размещение пакета в сетевой папке или на другом веб-сайте.
Дополнительные сведения о создании пакетов VSIX и их развертывании в коллекции Visual Studio см. в разделе развертывание VSIX.
Создать пакет VSIX можно, используя шаблон Проект VSIX в Visual Studio или вручную.
Использование проектов VSIX для создания пакетов VSIX
Можно использовать шаблон Проект VSIX предоставленные, что пакет Visual Studio SDK создан пакеты VSIX для расширений инструментов SharePoint.Использование проекта VSIX предоставляет несколько преимуществ перед созданием пакета VSIX вручную.
Visual Studio автоматически генерирует пакет VSIX при выполнении построения проекта.Такие задания, как добавление файлов развертывания в пакет и создание XML-файлов по типам содержимого для пакета, уже выполнены.
Проект VSIX можно настроить так, чтобы в пакет VSIX включались выходные данные построения проекта расширения и другие файлы, такие как шаблоны проектов и элементов.
Дополнительные сведения об использовании проекта VSIX см. в разделе шаблон проекта VSIX.
Организация проектов
По умолчанию проекты VSIX создают только пакеты VSIX, но не сборки.Поэтому в проектах VSIX обычно не реализовывают расширение средств SharePoint.Как правило, в работе используется как минимум два проекта:
Проект VSIX.
Проект библиотеки классов, реализующий расширение.
Также можно использовать дополнительные проекты для некоторых типов расширений:
Проект библиотеки классов, реализующий команды SharePoint, используемые в расширении.Пошаговое руководство, в котором рассматривается такой сценарий, см. в разделе Пошаговое руководство. Расширение обозревателя сервера, чтобы в нем отображались веб-части.
Проект шаблона элемента или проекта, создающий шаблон элемента или проекта, если в расширении определен новый тип элемента проекта SharePoint.Пошаговое руководство, в котором рассматривается такой сценарий, см. в разделе Пошаговое руководство. Создание элемента проекта настраиваемого действия с помощью шаблона элемента, часть 1.
Проект библиотеки классов, реализующий шаблон элемента или проекта, если в расширении содержится шаблон.Пошаговое руководство, в котором рассматривается такой сценарий, см. в разделе Пошаговое руководство. Создание элемента проекта настраиваемого действия с помощью шаблона элемента, часть 2.
Если все проекты включаются в одно решение Visual Studio, можно изменить SOURCE.EXTENSION.VSIXMANIFEST-файл в проекте VSIX, чтобы он включал в себя выходные данные построения проектов библиотеки классов.
Редактирование манифеста VSIX
Необходимо изменить файл source.extension.vsixmanifest в проекте VSIX, указав в нем все элементы, которые должны содержаться в расширении.При открытии файла source.extension.vsixmanifest в контекстном меню выберите файл появится в конструкторе, который предоставляет пользовательский интерфейс для редактирования XML в файле.Дополнительные сведения см. в разделе конструктор манифеста VSIX.
В файл source.extension.vsixmanifest необходимо добавить записи о следующих элементах:
Сборка расширения.
Сборка, реализующая команды SharePoint, используемые в расширении.
Шаблоны проектов и элементов, связанные с расширением.
Настраиваемый мастер для шаблона, связанный с расширением.
В следующих процедурах описывается, как добавить записи о каждом из этих элементов в файл .vsixmanifest.
Чтобы включить в файл сборку расширения, выполните следующие действия.
В проекте VSIX, открыть контекстное меню для файла source.extension.vsixmanifest, а затем выберите Открыть.
Открытие файла в конструкторе
На вкладке Активы редактор выберите кнопку Создать.
Будет открыто диалоговое окно Добавить новый актив.
В списке Тип выберите Microsoft.VisualStudio.MefComponent.
В списке Источник, выполните одно из следующих действий:
Если сборка расширения создана из проекта, являющегося тем же решением, что и проект VSIX выберите Проект в текущем решении.В списке Проект выберите имя проекта.
Если сборка расширения включена, как файл в проекте выберите Файл в файловой системе.В списке Путь введите полный путь к файлу сборки модуля или воспользуйтесь кнопкой Обзор, чтобы найти и выбрать файл сборки.
Нажмите кнопку ОК.
Чтобы включить в файл сборку команды SharePoint, выполните следующие действия
В проекте VSIX, открыть контекстное меню для файла source.extension.vsixmanifest, а затем нажмите кнопку Открыть.
Открытие файла в конструкторе.
В разделе Активы редактор выберите кнопку Создать.
Будет открыто диалоговое окно Добавить новый актив.
В окне Тип введите SharePoint.Commands.v4.
В списке Источник, выполните одно из следующих действий:
Если сборка команды создана из проекта, являющегося тем же решением, что и проект VSIX выберите Проект в текущем решении.В списке Проект выберите имя проекта.
Если сборка команды включена, как файл в проекте выберите Файл в файловой системе.В списке Путь введите полный путь к файлу сборки модуля или воспользуйтесь кнопкой Обзор, чтобы найти и выбрать файл сборки.
Нажмите кнопку ОК.
Включить шаблон, который будет создан
В проекте VSIX, открыть контекстное меню для файла source.extension.vsixmanifest, а затем нажмите кнопку Открыть.
Открытие файла в конструкторе.
В разделе Активы редактор выберите кнопку Создать.
Будет открыто диалоговое окно Добавить новый актив.
В списке Тип выберите Microsoft.VisualStudio.ProjectTemplate или Microsoft.VisualStudio.ItemTemplate.
В списке Источник выберите Проект в текущем решении.
В списке Проект выберите имя проекта, а затем нажмите кнопку ОК.
В Обозреватель решений открыть контекстное меню для выбранного шаблона проекта или шаблон элемента проекта, а затем выберите Выгрузить проект.
Раскрывайте контекстное меню для узла проекта, а затем выберите ИзменитьYourTemplateProjectNamecsproj или ИзменитьYourTemplateProjectNamevbproj.
Найдите следующий элемент VSTemplate в файле проекта.
<VSTemplate Include="YourTemplateName.vstemplate">
Замените этот элемент следующим XML-кодом.
<VSTemplate Include="YourTemplateName.vstemplate"> <OutputSubPath>SharePoint\SharePoint14</OutputSubPath> </VSTemplate>
Элемент OutputSubPath задает путь к дополнительным папкам, в которых при построении проекта создается шаблон проекта.Заданные здесь папки обеспечивают что шаблон элемента будет доступен, только если клиенты раскроют диалоговое окно Добавить новый проект разверните узел SharePoint, а затем выберите узел 2010.
Сохраните и закройте файл.
В Обозреватель решений открыть контекстное меню для шаблона проекта или шаблон элемента проекта, а затем выберите Перезагрузить проект.
Добавление шаблона, создаваемого вручную
В проекте VSIX добавьте новую папку к проекту для шаблона.
В новой папке создайте вложенные папки и затем добавьте шаблон (ZIP-файл) в папку код_языка.
папка_шаблона
SharePoint
SharePoint14
код_языка
YourTemplateName.zip
Например, если есть шаблон элемента с именем ContosoCustomAction.zip, который поддерживает английские (США) языковые стандарты, полный путь может иметь следующий вид: ItemTemplates\SharePoint\SharePoint14\1033\ContosoCustomAction.zip.
В Обозреватель решений выберите файл шаблона (ZIP YourTemplateName).
В окне Свойства задайте для свойства Действие построения значение Содержание.
Открыть контекстное меню для файла source.extension.vsixmanifest, а затем выберите Открыть.
Открытие файла в конструкторе.
В разделе Активы редактор выберите кнопку Создать.
Будет открыто диалоговое окно Добавить новый актив.
В списке Тип выберите Microsoft.VisualStudio.ItemTemplate или Microsoft.VisualStudio.ProjectTemplate.
В списке Источник выберите Файл в файловой системе.
В поле Путь введите полный путь к сборке (например, ItemTemplates \ SharePoint \ SharePoint14 \ 1033 \ ContosoCustomAction.zip или использует кнопку Обзор, чтобы найти и выбрать сборки, а затем нажмите кнопку ОК.
Добавление мастера в шаблон проекта или элемента
В проекте VSIX, открыть контекстное меню для файла source.extension.vsixmanifest, а затем выберите Открыть.
Открытие файла в конструкторе.
В разделе Активы редактор выберите кнопку Создать.
Будет открыто диалоговое окно Добавить новый актив.
В списке Тип выберите Microsoft.VisualStudio.Assembly.
В списке Источник, выполните одно из следующих действий:
Если сборка мастера создана из проекта, являющегося тем же решением, что и проект VSIX выберите Проект в текущем решении.В списке Проект выберите имя проекта.
Если сборка мастера включена, как файл в проекте выберите Файл в файловой системе.В поле Путь введите полный путь к файлу сборки или воспользуйтесь кнопкой Обзор, чтобы найти и выбрать сборки.
Нажмите кнопку ОК.
Связанные обзоры
В следующей таблице приведены пошаговые руководства по использованию проекта VSIX для развертывания различных типов расширений средств SharePoint.
Тип расширения |
Связанные пошаговые руководства |
---|---|
Расширение, содержащее только сборку расширения |
Пошаговое руководство. Расширение типа проектного элемента SharePoint Пошаговое руководство. Создание расширения проекта SharePoint |
Расширение, содержащее команды SharePoint |
Пошаговое руководство. Создание пользовательского шага развертывания для проектов SharePoint Пошаговое руководство. Расширение обозревателя сервера, чтобы в нем отображались веб-части Пошаговое руководство. Создание элемента проекта столбца сайта с помощью шаблона элемента, часть 2 |
Расширение, содержащее шаблон Visual Studio |
Пошаговое руководство. Создание элемента проекта столбца сайта с помощью шаблона элемента, часть 1 |
Расширение, содержащее мастер шаблона |
Пошаговое руководство. Создание элемента проекта столбца сайта с помощью шаблона элемента, часть 2 |
Создание вручную пакетов VSIX
Чтобы создать вручную пакеты VSIX для расширений инструментов SharePoint, выполните следующие действия.
Создайте EXTENSION.VSIXMANIFEST-файл, [Типы_контента].xml и файл пакета VSIX (VSIX-файл).Дополнительные сведения см. в разделах Составляющие пакета VSIX и Практическое руководство. Пакет развертывания вручную расширение (VSIX).
Добавьте сборку расширения в пакет VSIX.Если расширение содержит команду SharePoint, также добавьте сборку, которая реализует команду SharePoint в пакете VSIX.
Измените EXTENSION.VSIXMANIFEST-файл.
Добавьте элемент Microsoft.VisualStudio.MefComponent под элементом Assets, а затем установите значение нового элемента на относительный путь сборки, реализующей расширение в пакете VSIX.Дополнительные сведения см. в разделе MefComponent Element.
Если расширение содержит команду SharePoint, которая вызывает объектную модель сервера SharePoint, добавьте элемент Microsoft.VisualStudio.Assembly под элементом Assets.Задайте значение нового элемента на относительный путь сборки, которая реализует команду SharePoint в пакете VSIX.Дополнительные сведения см. в разделе элемент актива (схема VSX).
Если расширение содержит шаблон проекта или шаблон элемента, добавьте элемент ProjectTemplate или ItemTemplate под элементом Assets.Задайте значение нового элемента на относительный путь к папке, содержащей шаблон в пакете VSIX.Дополнительные сведения см. в разделах ProjectTemplate Element и ItemTemplate Element.
Если расширение содержит пользовательский мастер шаблона или шаблона элемента проекта, добавьте элемент Assembly под элементом Assets.Задайте значение нового элемента на относительный путь сборки в пакете VSIX, а затем установите для атрибута AssemblyName до полного имени сборки (включая версию, язык и региональные параметры и маркер открытого ключа).Дополнительные сведения см. в разделе Элемент dependencies (схема VSX).
Пример
В следующем примере представлено содержимое файла extension.vsixmanifest расширения средств SharePoint.Расширение реализуется в сборке с именем Contoso.ProjectExtension.dll.Расширение включает сборку команды SharePoint с именем Contoso.ExtensionCommands.dll и шаблоном элемента в папке с именем ItemTemplates в пакете VSIX.Данный пример предполагает, что обе сборки находятся в одной папке с EXTENSION.VSIXMANIFEST-файлом в пакете VSIX.
<PackageManifest Version=”2.0.0” xmlns=”https://schemas.microsoft.com/developer/vsx-schema/2011”>
<Metadata>
<Identity Id="CustomActionProjectItem.Microsoft.b99efe4d-cef3-4afd-b9af-034ca0c52743" Version="1.0" Language="en-US" Publisher="Microsoft" />
<DisplayName>CustomActionProjectItem</DisplayName>
<Description>Empty VSIX Project.</Description>
</Metadata>
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Pro" Version="11.0" />
</Installation>
<Dependencies>
<Dependency Id="Microsoft.Framework.NDP" DisplayName="Microsoft .NET Framework" Version="4.5" />
</Dependencies>
<Assets>
<Asset Type="Microsoft.VisualStudio.ItemTemplate" Path="ItemTemplates" />
<Asset Type="Microsoft.VisualStudio.MefComponent" Path="ProjectItemDefinition.dll" />
</Assets>
</PackageManifest>
См. также
Основные понятия
Расширение системы проектов SharePoint
Вызов объектных моделей SharePoint
Отладка расширений для средств SharePoint в Visual Studio
Другие ресурсы
Расширение узла подключений SharePoint в обозревателе сервера