SharePoint 项目和项目项模板

Visual Studio 2010 提供了若干新的项目类型模板和项目项模板,以用来开发 SharePoint 网站和应用程序。

项目和项目项模板概述

若要在 Visual Studio 中查看 SharePoint 2010 项目模板,请在 Visual Basic 或 Visual C# 下展开**“SharePoint”节点,然后单击“2010”。若要查看 SharePoint 2007 项目模板,请单击“2007”**文件夹。

在 Visual Studio 中创建 SharePoint 项目时,将在创建该项目类型所需的文件的同时创建一个空 SharePoint 项目(请参见本主题后面的内容)。 项目项模板用于将项目项添加到现有 SharePoint 项目中,例如,将事件接收器添加到列表定义项目中。

有关 SharePoint 基本元素的信息,请参见 SharePoint Foundation Building Blocks(SharePoint Foundation 生成块)。

项目模板

以下是一个 SharePoint 项目模板的列表。 若要创建 SharePoint 项目,请单击**“文件”,指向“新建”,在“新建项目”对话框中选择项目模板,然后单击“确定”**。

业务数据连接模型

利用业务数据连接模型项目,可以将业务数据集成到 SharePoint 中。 业务数据可以来自后端服务器应用程序,如 SQL Server、Siebel 和 SAP。**“业务数据连接模型”项目是一个包含“业务数据连接模型”**项的空 SharePoint 项目。 有关更多信息,请参见将业务数据集成到 SharePoint 中What's New: Business Connectivity Services(新增功能:业务应用连接服务)。

内容类型

利用内容类型项目,可以基于现有的(基)内容类型(如文档、公告或任务)创建自定义内容类型。 自定义内容类型提供与基内容类型相同的特性和字段,以及您定义的任何字段。

提示

由于存在 SharePoint 限制,无法基于沙盒解决方案内容类型创建场解决方案内容类型。

有关更多信息,请参见演练:创建自定义字段、内容类型、列表定义和列表实例Building Block: Content Type(生成块:内容类型)。

空 SharePoint 项目

空 SharePoint 项目的内容是本主题中描述的所有项目模板共有的。 一个空 SharePoint 项目包含:

  • 一个项目文件

  • 一个项目属性页

  • 一个**“引用”**文件夹,此文件夹列出了项目所需的所有程序集引用。

  • 一个**“功能”**文件夹,此文件夹包含用于将功能部署到 SharePoint Server 的 .feature 配置文件。

  • 一个**“包”**文件夹,此文件夹包含用于分发项目的所有文件的 package.wspdef 文件。

  • 一个 key.snk(强名称密钥)文件,此文件用于使用强名称为程序集签名。

事件接收器

事件接收器可处理针对 SharePoint 网站中的项(如列表、Web 项和工作流)的事件。 利用事件接收器项目模板,可以处理

  • 列表事件

  • 列表项事件

  • 列表电子邮件事件

  • Web 事件

  • 列表工作流事件

事件接收器模板将创建一个空 SharePoint 项目和一个“事件接收器”文件夹。 此“事件接收器”文件夹包含一个类文件,该文件包含针对您在**“SharePoint 自定义向导”**中创建项目时所指定的所有事件的事件处理程序。 event receiver 类可以处理在添加、更新、删除或移除各个项(如文件、字段、项、列表、附件、网站和工作流)时在 SharePoint 网站上发生的事件。 有关更多信息,请参见如何:创建事件接收器Building Block: Event Handling(生成块:事件处理)。

导入可重用工作流

利用“导入可重用工作流”项目,可以将在 SharePoint Designer 2010 中创建的可重用的声明性工作流导入到 Visual Studio 中。 此工作流会作为一个 .wsp 文件从 SharePoint 网站中导出。 将此工作流导入到 Visual Studio 中后,可以对它进行自定义,为它添加代码,然后将它部署到 SharePoint 网站。 有关更多信息,请参见演练:将 SharePoint Designer 可重用工作流导入 Visual Studio新增功能:工作流增强功能

导入 SharePoint 解决方案包

利用“导入 SharePoint 解决方案包”项目,可以将现有 SharePoint 网站(先导出到 .wsp 文件)导入到 Visual Studio 中。 导入 Visual Studio 中后,您可以对其项进行自定义并重新部署。 有关更多信息,请参见从现有的 SharePoint 网站导入项

列表定义

列表是 SharePoint 网站的主要生成块之一,由“列表定义”来定义。 从概念上说,列表定义与基类或模板类似,它定义列表的所有组件,例如列表的字段、窗体、视图和工具栏。 单独创建的列表定义实例(称为“列表实例”)将基于这些组件。 列表定义还指定与列表关联的内容类型。 以下是列表定义的一些示例:文档列表中的文档、日历和任务列表。 内容类型表示列表实例中的各个项,例如:任务列表中的任务、日历中的事件或文档库中的文档。

通过在**“新建项目”对话框中运行“列表定义”项目模板来创建列表定义项目。 这将创建一个可包含其他 SharePoint 项目项(如内容类型、列表实例和事件接收器)的独立项目。 实际上,“SharePoint 自定义向导”**中包含一个选项,可用于在创建列表定义项目时向其中添加列表实例项目项。

在创建并生成列表定义项目后,该项目将作为一项功能部署到 SharePoint Server,并且会在其中自动激活并提供给 SharePoint 网站用户使用。

Visual Studio 提供了针对下列 SharePoint 列表定义项目类型的模板:

列表类型

说明

公告

用于与团队成员共享新闻。

Calendar

用于列出日期并跟踪即将开展的团队活动和期限。

联系人

用于跟踪人员及其联系信息,如地址和电话号码。

自定义列表

可以在其中添加自定义列的空列表。

文档库

包含团队成员可以就其进行协作的文档。 其中集成了用于版本控制的源代码管理功能。

链接

用于管理超链接。

任务

可用于工作流的基于活动的项。

有关更多信息,请参见演练:创建自定义字段、内容类型、列表定义和列表实例Building Block: Lists and Document Libraries(生成块:列表和文档库)。

模块

模块(不要与 Visual Basic 模块混淆)包含您希望 SharePoint 项目附带的任何文件,例如开发说明或自述文件。 一些 SharePoint 项目还使用模块来包含所需的文件。 模块项目模板会创建一个包含模块节点的空 SharePoint 项目。 模块节点包含两个项目项模板:一个 XML 定义文件(用作模块的清单)和一个 sample.txt 文件(此文件用作示例)。 有关更多信息,请参见使用模块包括解决方案中的文件Modules(模块)。

顺序工作流

顺序工作流是一系列业务逻辑步骤,将按顺序执行这些步骤,直到完成最后一个步骤。 顺序工作流用于管理涉及 SharePoint 项(如列表和文档)的过程。 可以创建网站级(全局)工作流或列表级(本地)工作流,并可以选择是自动启动还是手动启动工作流。 有关更多信息,请参见 创建 SharePoint 工作流解决方案新增功能:工作流增强功能

有关 SharePoint 2007 工作流项目的信息,请参见本主题中的**“SharePoint 2007 项目”**一节。

SharePoint 2007 项目

SharePoint 2007 项目(顺序工作流和状态机工作流)在 Visual Studio 2010 中的工作方式与在 Visual Studio 2008 中的工作方式相同。 现在,SharePoint 2007 项目不仅可以在 Microsoft Office SharePoint Server 2007 中运行,而且可以在 Windows SharePoint Services 3.0 中运行。

仅在系统上安装了 Windows SharePoint Services 3.0 或 Microsoft Office SharePoint Server 2007 时,SharePoint 2007 项目才能在 Visual Studio 2010 中运行。 这些项目不能与 SharePoint Foundation 2010 或 SharePoint Server 2010 一起运行。

提示

Windows SharePoint Services 3.0 或 Microsoft Office SharePoint Server 2007 不能与 SharePoint Foundation 2010 或 SharePoint Server 2010 安装在同一系统上。

若要在 Visual Studio 2010 中升级 SharePoint 2007 项目,可通过使用**“导入 SharePoint 解决方案包”**项目来将这些项目导入到 Visual Studio 2010 中。 有关更多信息,请参见从现有的 SharePoint 网站导入项

有关 SharePoint 2007 项目的更多信息,请参见 SharePoint 2007 工作流解决方案SharePoint 工作流解决方案

网站定义

网站定义项目包括空 SharePoint 项目中所包含的所有内容,以及一个包含以下文件的网站定义文件夹:

  • 一个默认的 .aspx 页,用作网站的默认网页。

  • 一个 onet.xml 文件,用于定义网站的组件。

  • 一个 webtemp xml 文件,用于指定在**“新建 SharePoint 网站”页的“模板选择”**部分显示的网站定义配置。

在创建网站定义项目之后,添加代码和文件来引入功能。 有关更多信息,请参见创建 SharePoint 网站定义

状态机工作流

状态机工作流是一组业务逻辑状态、转换和操作。 状态机工作流中的各个步骤不是按顺序来执行的,而是由操作和状态来触发。 与顺序工作流一样,状态机工作流与 SharePoint 项(如列表和文档)相关联。 同样,您可以创建网站级(全局)工作流或列表级(本地)工作流。 也可以选择是自动启动还是手动启动工作流。 有关更多信息,请参见 创建 SharePoint 工作流解决方案新增功能:工作流增强功能

有关 SharePoint 2007 工作流项目的信息,请参见本主题中的**“SharePoint 2007 项目”**一节。

可视 Web 部件

可视 Web 部件是一个使用 Visual Studio 中的 Visual Web Developer 设计器创建的 Web 部件。 **“可视 Web 部件”项目是一个包含“可视 Web 部件”**项的空 SharePoint 项目。 有关更多信息,请参见 为 SharePoint 创建 Web 部件和Creating Web Parts and Web Pages。

项目项模板

以下是一个 SharePoint 项目项模板的列表。 若要添加项目项,请在解决方案资源管理器中选择相应的项目,然后在**“项目”菜单上单击“添加新项”**。

提示

此列表中省略了与其 SharePoint 项目对应项相同的项目项模板。

“应用程序”页

利用**“应用程序页”**项,您可以为 SharePoint 网站设计 ASP.NET 网页。 有关更多信息,请参见如何:创建应用程序页Application _layouts Page Type(应用程序 _layouts 页类型)。

业务数据连接模型

利用**“业务数据连接模型”**项,您可以将业务数据集成到 SharePoint 中。 业务数据可由后端服务器应用程序提供,如 SQL Server、Siebel 和服务广告协议 (SAP)。 有关更多信息,请参见如何:创建 BDC 模型What's New: Business Connectivity Services(新增功能:业务应用连接服务)。

业务数据连接资源项

利用业务数据连接资源项,您可以将资源文件添加到业务数据连接 (BDC) 解决方案中。 可以使用资源文件为 BDC 模型中定义的对象提供本地化名称。 也可以定义属性并对在模型中定义的对象应用权限。 有关更多信息,请参见如何:使用资源文件指定本地化名称、属性和权限What's New: Business Connectivity Services(新增功能:业务应用连接服务)。

空元素

空元素最常用于定义在 Visual Studio 中缺少相应的项目或项目项模板的 SharePoint 项目项,例如字段。将空元素添加到项目中时,将会创建一个名为 EmptyElement{x} 的节点(其中 {x} 是一个唯一编号)。 EmptyElement{x} 包含一个名为 Elements.xml 的文件。使用 XML 语句可在 Elements.xml 中定义所需的元素。

全局资源文件

资源文件是基于 XML 的文件,这些文件包含 SharePoint 应用程序中使用的所有文本字符串。 这使人们能够更轻松地将这些字符串转换成其他语言。 有关更多信息,请参见本地化 SharePoint 解决方案

来自内容类型的列表定义

允许您在 SharePoint 项目中基于项目中的内容类型或 SharePoint Server 上的内容类型添加新的列表定义。

列表实例

列表实例是可重用的基列表定义(如日历或任务列表)的单个实例。 在将列表实例项目项添加到项目中时,将会创建一个名为 ListInstance{x} 的节点(其中 {x} 是一个唯一编号)。 ListInstance{x} 包含一个名为 Elements.xml 的文件,用于定义列表实例的属性。 有关更多信息,请参见演练:创建自定义字段、内容类型、列表定义和列表实例Building Block: Lists and Document Libraries(生成块:列表和文档库)。

用户控件

利用**“用户控件”**项,您可以创建可重用的自定义控件,这些控件可由在 SharePoint 中运行的应用程序页和 Web 部件使用。 使用 Visual Studio 中的 Visual Web Developer 设计器来设计用户控件。 有关更多信息,请参见如何:为 SharePoint 应用程序页或 Web 部件创建用户控件Building Block: Web Parts(生成块:Web 部件)。

可视 Web 部件

**“可视 Web 部件”项包括一个“Web 部件”项和一个“用户控件”项。 可以通过将控件从 Visual Studio 的“工具箱”**中拖动到用户控件的图面上,设计 Web 部件的外观。如何:使用设计器创建 SharePoint Web 部件Building Block: Web Parts(生成块:Web 部件)。

Web 部件

**“Web 部件”**项提供了可用于设计 SharePoint 网站的 Web 部件的文件。 有关更多信息,请参见如何:创建 SharePoint Web 部件Building Block: Web Parts(生成块:Web 部件)。

工作流关联窗体

工作流关联窗体是一个可选窗体,当工作流首次与某个特定列表或文档库关联时,可为 SharePoint 网站管理员显示此窗体。 如果网站管理员负责激活顺序工作流或状态机工作流,则他们可以使用此窗体来设置激活值。

在将工作流关联窗体添加到 SharePoint 项目中时,将会创建两个文件:一个 ASPX 设计器文件和一个 WorkflowAssociationForm{x}.aspx 文件(其中 {x} 是一个唯一编号)。 此外,还将在设计器文件下创建一个名为 WorkflowAssociationForm{x}.cs(针对 Visual C# 项目)或 WorkflowAssociationForm{x}.vb(针对 Visual Basic 项目)的新代码文件。 有关更多信息,请参见演练:创建带有关联窗体和启动窗体的工作流Workflow Association and Initialization Forms(工作流关联窗体和工作流启动窗体)。

工作流启动窗体

工作流启动窗体也是一个可选窗体,它与工作流关联窗体类似。 当 SharePoint 网站用户激活文档或列表项上的工作流时,他们会使用此窗体输入值。 在将工作流启动窗体项目项添加到项目中时,将会创建三个文件:一个 ASPX 设计器文件、一个 WorkflowInitiationForm{x}.aspx 文件和一个名为 WorkflowInitiationForm{x}.cs 或 WorkflowInitiationForm{x}.vb 的新代码文件。 有关更多信息,请参见演练:创建带有关联窗体和启动窗体的工作流Workflow Association and Initialization Forms(工作流关联窗体和工作流启动窗体)。

请参见

其他资源

开发 SharePoint 解决方案

SharePoint 产品和技术