如何:在沙盒解决方案中创建和部署常见声明性元素

本主题说明如何在沙盒解决方案中创建以声明方式定义的公共 SharePoint 项目组件。

上次修改时间: 2015年3月9日

适用范围: SharePoint Foundation 2010

在 SharePoint Online 中提供

本主题仅涉及以下组件。(有关如何在沙盒解决方案中创建和部署其他类型的组件的信息,请参阅"相关主题"一节。)

  • 列表/库模板(包括 schema.xml 文件)

  • 列表/库实例

  • 内容类型

  • 内容类型到列表的绑定

  • 字段(而非自定义字段类型)

  • 自定义操作(但是,沙盒解决方案中不允许定义自定义操作组和隐藏自定义操作。请参阅本主题后面的注释。)

  • 属性包

  • 将功能装订到网站定义配置(也称作"功能/网站模板关联")

备注

不能在沙盒解决方案中部署以下公共声明性 SharePoint 项目组件:

  • 委派控件(Control 元素)的候选控件的注册。

  • 文档转换器(DocumentConverter 元素)的注册。它们在 Web 应用程序级别注册,并且不允许沙盒解决方案访问宿主网站集外的任何内容。

  • 自定义操作组(CustomActionGroup 元素)的定义。

  • 隐藏自定义操作(HideCustomAction 元素)。

  • 定义工作流(Workflow 元素)。此元素仅用作编码工作流的一部分,无法在沙盒解决方案中部署该工作流。

有关无法在沙盒解决方案中部署这些组件的原因的详细信息,请参阅沙盒解决方案的限制

创建组件

  1. 启动 Microsoft Visual Studio SharePoint 项目。它可以是沙盒解决方案中允许的任何项目类型(包括"空白 SharePoint 解决方案")。(它不能是"业务数据连接模型"、"网站模板"、"可视化 Web 部件"、"顺序工作流"或"状态机工作流"。)

  2. 当提示输入解决方案类型时,请选择"沙盒"(而非"服务器场")。

  3. Visual Studio 在创建项目后,会向项目中添加所需的"内容类型"、"列表实例"、"列表模板"或"来自内容类型的列表模板"项目项。

  4. 在这些项目项中自定义 Elements.xml 文件(和 Schema.xml 文件,如果有),就像在服务器场解决方案中进行此操作一样。

  5. 如果您的解决方案包括此点符列表中的任何其他类别的组件,且其中没有特定的 Visual Studio 项目项,则向项目添加"空元素"项。

  6. "空元素"项包含一个 Elements.xml 文件,其唯一标记为根 <Elements> 元素。

  7. 就像在服务器场解决方案中一样自定义 Elements.xml 文件。例如,如果您的组件是一个或多个字段,则将一个或多个 Field 元素添加为 <Elements> 元素的子元素,并配置其属性和子元素(如果有)。

  8. 如果您的解决方案包含多个组件,且其中没有特定的 Visual Studio 项目项,则可为其中每个组件添加一个"空元素"项,或将不同类别的子元素组合到同一"空元素"项的 <Elements> 元素中。在向 <Elements> 元素中添加子元素后,可配置其属性和子元素。下表显示在不包含特定 Visual Studio 项目项的沙盒解决方案中可用的纯声明性组件。

    组件

    元素

    内容类型到列表的绑定

    ContentTypeBinding

    自定义操作

    CustomAction

    属性包

    PropertyBag

    功能装订

    FeatureSiteTemplateAssociation

    字段

    Field

  9. 您的项目应至少具有一项功能,并且功能中应引用所有组件的全部元素清单(Elements.xml 文件)。如果您使用的是 Visual Studio,则当您添加第一个组件时将自动创建第一项功能,并会向其中添加所有新组件。可以添加更多功能并使用 Visual Studio 功能设计器在各个功能之间移动组件。由于沙盒解决方案无法在它要上载到的网站集外部部署任何内容,因此,您的功能的作用范围不能限定为服务器场或 Web 应用程序。

  10. 生成、打包并部署到您的开发 SharePoint 安装。在完成测试和调试后,使沙盒解决方案包(.wsp 文件)对网站集管理员可用。

部署沙盒解决方案

网站集管理员可将沙盒解决方案安装到网站集的解决方案库。此过程包含两个步骤。第一步,将解决方案包上载到库。第二步,部署解决方案包,这称作沙盒解决方案的"激活"。第二步将自动激活包中的任何功能。如果任何解决方案验证程序注册到网站集,则它们也会在激活阶段执行。如果解决方案通过了验证,且未被服务器场管理员阻止,则可在网站集上使用它。

请参阅

任务

如何:在沙盒解决方案中创建和部署事件接收器

如何:在沙盒解决方案中创建和部署功能接收器

如何:在沙盒解决方案中创建和部署声明性工作流

如何:在沙盒解决方案中创建和部署工作流操作