如何:在沙盒解决方案中创建和部署常见声明性元素
本主题说明如何在沙盒解决方案中创建以声明方式定义的公共 SharePoint 项目组件。
上次修改时间: 2015年3月9日
适用范围: SharePoint Foundation 2010
本主题仅涉及以下组件。(有关如何在沙盒解决方案中创建和部署其他类型的组件的信息,请参阅"相关主题"一节。)
列表/库模板(包括 schema.xml 文件)
列表/库实例
内容类型
内容类型到列表的绑定
字段(而非自定义字段类型)
自定义操作(但是,沙盒解决方案中不允许定义自定义操作组和隐藏自定义操作。请参阅本主题后面的注释。)
属性包
将功能装订到网站定义配置(也称作"功能/网站模板关联")
备注
不能在沙盒解决方案中部署以下公共声明性 SharePoint 项目组件:
-
委派控件(Control 元素)的候选控件的注册。
-
文档转换器(DocumentConverter 元素)的注册。它们在 Web 应用程序级别注册,并且不允许沙盒解决方案访问宿主网站集外的任何内容。
-
自定义操作组(CustomActionGroup 元素)的定义。
-
隐藏自定义操作(HideCustomAction 元素)。
-
定义工作流(Workflow 元素)。此元素仅用作编码工作流的一部分,无法在沙盒解决方案中部署该工作流。
有关无法在沙盒解决方案中部署这些组件的原因的详细信息,请参阅沙盒解决方案的限制。
创建组件
启动 Microsoft Visual Studio SharePoint 项目。它可以是沙盒解决方案中允许的任何项目类型(包括"空白 SharePoint 解决方案")。(它不能是"业务数据连接模型"、"网站模板"、"可视化 Web 部件"、"顺序工作流"或"状态机工作流"。)
当提示输入解决方案类型时,请选择"沙盒"(而非"服务器场")。
Visual Studio 在创建项目后,会向项目中添加所需的"内容类型"、"列表实例"、"列表模板"或"来自内容类型的列表模板"项目项。
在这些项目项中自定义 Elements.xml 文件(和 Schema.xml 文件,如果有),就像在服务器场解决方案中进行此操作一样。
如果您的解决方案包括此点符列表中的任何其他类别的组件,且其中没有特定的 Visual Studio 项目项,则向项目添加"空元素"项。
"空元素"项包含一个 Elements.xml 文件,其唯一标记为根 <Elements> 元素。
就像在服务器场解决方案中一样自定义 Elements.xml 文件。例如,如果您的组件是一个或多个字段,则将一个或多个 Field 元素添加为 <Elements> 元素的子元素,并配置其属性和子元素(如果有)。
如果您的解决方案包含多个组件,且其中没有特定的 Visual Studio 项目项,则可为其中每个组件添加一个"空元素"项,或将不同类别的子元素组合到同一"空元素"项的 <Elements> 元素中。在向 <Elements> 元素中添加子元素后,可配置其属性和子元素。下表显示在不包含特定 Visual Studio 项目项的沙盒解决方案中可用的纯声明性组件。
组件
元素
内容类型到列表的绑定
自定义操作
属性包
功能装订
字段
您的项目应至少具有一项功能,并且功能中应引用所有组件的全部元素清单(Elements.xml 文件)。如果您使用的是 Visual Studio,则当您添加第一个组件时将自动创建第一项功能,并会向其中添加所有新组件。可以添加更多功能并使用 Visual Studio 功能设计器在各个功能之间移动组件。由于沙盒解决方案无法在它要上载到的网站集外部部署任何内容,因此,您的功能的作用范围不能限定为服务器场或 Web 应用程序。
生成、打包并部署到您的开发 SharePoint 安装。在完成测试和调试后,使沙盒解决方案包(.wsp 文件)对网站集管理员可用。
部署沙盒解决方案
网站集管理员可将沙盒解决方案安装到网站集的解决方案库。此过程包含两个步骤。第一步,将解决方案包上载到库。第二步,部署解决方案包,这称作沙盒解决方案的"激活"。第二步将自动激活包中的任何功能。如果任何解决方案验证程序注册到网站集,则它们也会在激活阶段执行。如果解决方案通过了验证,且未被服务器场管理员阻止,则可在网站集上使用它。