扩展 SharePoint 项目项

当您希望向 Visual Studio 中已安装的某个类型的 SharePoint 项目项添加功能时,请创建项目项扩展。例如,您可以为 Visual Studio 中内置的**“事件接收器”“列表定义”**项目项创建扩展,也可以为自定义项目项类型创建扩展。您还可以为所有类型的 SharePoint 项目项创建扩展。

用于扩展 SharePoint 项目项的任务

若要扩展项目项,请生成实现 ISharePointProjectItemTypeExtension 接口的 Visual Studio 扩展程序集。有关更多信息,请参见如何:创建 SharePoint 项目项扩展

在扩展项目项时,还可以向项目项中添加以下功能:

有关演示如何创建、部署和测试项目项扩展的演练,请参见演练:扩展 SharePoint 项目项类型

了解项目项扩展与项目项实例之间的关系

如果创建了项目项扩展,则在向 SharePoint 项目中添加关联类型的项目项时,Visual Studio 会加载您的扩展。例如,如果您为**“事件接收器”项目项创建了扩展,则 Visual Studio 会在用户向项目中添加“事件接收器”项目项时加载您的扩展。Visual Studio 会将扩展的同一个实例用于关联项目项类型的所有实例。在前面的示例中,如果用户向项目中添加另一个“事件接收器”**项目项,则会使用同一个扩展实例来自定义第二个项目项。

若要访问要扩展的项目项类型的特定实例,请在 ISharePointProjectItemTypeExtension.Initialize 方法的实现中处理 projectItemType 参数的一个 ISharePointProjectItemEvents 事件。例如,若要确定所扩展类型的项目项添加到项目中的时间,请处理 ProjectItemAdded 事件。有关更多信息,请参见如何:创建 SharePoint 项目项扩展

SharePoint 项目项的标识符

每个 SharePoint 项目项均有对应的字符串标识符。若要执行下列任务,您必须知道项目项的标识符:

  • 为项目项创建扩展。在此情况下,您必须将要扩展的项目项的标识符传递给 SharePointProjectItemTypeAttribute 的构造函数。若要为所有项目项类型创建扩展,请传递 * 字符串值。

  • 以编程方式向项目中添加项目项。在此情况下,您必须将项目项的标识符传递给 ISharePointProjectItemCollection.Add 方法。

下表列出了 Visual Studio 附带的 SharePoint 项目项的标识符。

项目项名称

字符串标识符

业务数据目录模型

Microsoft.VisualStudio.SharePoint.BusinessDataConnectivity

内容类型

Microsoft.VisualStudio.SharePoint.ContentType

事件接收器

Microsoft.VisualStudio.SharePoint.EventHandler

空元素

Microsoft.VisualStudio.SharePoint.GenericElement

列表定义

来自内容类型的列表定义

Microsoft.VisualStudio.SharePoint.ListDefinition

列表实例

Microsoft.VisualStudio.SharePoint.ListInstance

模块

Microsoft.VisualStudio.SharePoint.Module

顺序工作流

状态机工作流

Microsoft.VisualStudio.SharePoint.Workflow

网站定义

Microsoft.VisualStudio.SharePoint.SiteDefinition

可视 Web 部件

Microsoft.VisualStudio.SharePoint.VisualWebPart

Web 部件

Microsoft.VisualStudio.SharePoint.WebPart

工作流关联窗体

Microsoft.VisualStudio.SharePoint.WorkflowAssociation

请参见

任务

演练:扩展 SharePoint 项目项类型

概念

如何:创建 SharePoint 项目项扩展

如何:向 SharePoint 项目项扩展中添加快捷菜单项

如何:向 SharePoint 项目项扩展中添加属性

扩展 SharePoint 项目系统