演练:部署项目任务列表定义

本演练演示如何使用 Visual Studio 2010 创建、自定义、调试和部署 SharePoint 列表定义以跟踪项目任务。

本演练阐释了以下任务:

  • 创建包含任务的 SharePoint 列表定义项目。

  • 向 SharePoint 功能添加列表定义。

  • 向列表添加事件接收器。

  • 创建和自定义 SharePoint 包以部署功能。

  • 生成和部署 SharePoint 解决方案。

提示

对于在以下说明中使用的某些 Visual Studio 用户界面元素,您的计算机可能会显示不同的名称或位置。这些元素取决于您所使用的 Visual Studio 版本和您所使用的设置。有关更多信息,请参见 Visual Studio 设置

系统必备

您需要以下组件来完成本演练:

  • 支持的 Microsoft Windows 和 SharePoint 版本。 有关更多信息,请参见开发 SharePoint 解决方案的要求

  • Visual Studio 2010 专业版或 Visual Studio Application Lifecycle Management (ALM) 的某个版本。

创建 SharePoint 列表定义

创建 SharePoint 列表定义项目,并将该列表定义与任务相关联。

创建 SharePoint 列表定义项目

  1. 打开**“新建项目”对话框,再展开“SharePoint”节点,然后单击“2010”**。

  2. 在**“模板”窗格中,选择“ListDefinition”,再将项目命名为 ProjectTaskList,然后单击“确定”**。

    这将显示**“SharePoint 自定义向导”**。

  3. 键入用于调试的本地 SharePoint 网站,然后单击**“下一步”**。

  4. 对于列表的**“显示名称”,键入“项目任务列表”**。

  5. 在**“列表定义的类型是什么”下拉菜单中,选择“任务”,再单击“完成”**。

    **“解决方案资源管理器”**中将出现列表定义、列表实例、功能和包。

添加事件接收器

在任务列表定义中,可以添加自动设置任务的截止日期和说明的事件接收器。 下面的过程会将一个简单的事件处理程序作为事件接收器添加到列表实例中。

添加事件接收器

  1. 右击项目节点,指向**“添加”,然后单击“新建项”**。

  2. 在 SharePoint 2010 模板列表中,选择**“事件接收器”**并将其命名为 ProjectTaskListEventReceiver。

    这将显示**“SharePoint 自定义向导”**。

  3. 在**“选择事件接收器设置”页上,选择“列表项事件”**作为事件接收器类型。

  4. 将**“事件源项”**设置为 ProjectTaskList。

  5. 在要处理的事件的列表中,选中**“已添加项”旁边的框,然后单击“完成”**。

    新的事件接收器节点将添加到包含名为 ProjectTaskListEventReceiver 的代码文件的项目中。

  6. 向 ProjectTaskListEventReceiver 代码文件中的 ItemAdded 方法添加代码。 每当添加新任务时,就会向该任务添加默认截止日期和说明。 默认截止日期为 2009 年 7 月 1 日。

    Public Overrides Sub ItemAdded(ByVal properties As SPItemEventProperties)
        MyBase.ItemAdded(properties)
        Dim web As SPWeb = properties.OpenWeb()
        properties.ListItem("Due Date") = "July 1, 2009"
        properties.ListItem("Description") = "This is a critical task."
        properties.ListItem.Update()
    End Sub
    
     public override void ItemAdded(SPItemEventProperties properties)
    {
        base.ItemAdded(properties);
        SPWeb web = properties.OpenWeb();
        properties.ListItem["Due Date"] = "July 1, 2009";
        properties.ListItem["Description"] = "This is a critical task.";
        properties.ListItem.Update(); 
    }  
    

自定义项目任务列表功能

在创建 SharePoint 解决方案时,Visual Studio 会自动为默认项目项创建功能。 您可以使用功能设计器来自定义 SharePoint 网站的项目任务列表设置。

自定义项目任务列表功能

  1. 在**“解决方案资源管理器”中展开“功能”**。

  2. 双击**“Feature1”**。

  3. 在**“标题”**字段中,键入“项目任务列表功能”。

  4. 在**“范围”下拉菜单中选择“Web”**。

  5. 在**“属性”窗口中,键入 1.0.0.0 作为“Version”**属性的值。

自定义项目任务列表包

在创建 SharePoint 项目时,Visual Studio 会自动向包中添加包含默认项目项的功能。 您可以使用包设计器来自定义 SharePoint 网站的项目任务列表设置。

自定义项目任务列表包

  1. 在**“解决方案资源管理器”中双击“包”**。

  2. 在**“名称”**字段中键入 ProjectTaskListPackage。

  3. 选择**“重置 WebServer”**。

生成和测试项目任务列表

在运行项目时,SharePoint 网站将打开。 不过,您必须手动导航到任务列表的位置。

测试项目任务列表

  1. 按 F5 以生成并部署项目任务列表。

    SharePoint 网站将打开。

  2. 单击**“主页”**。

  3. 在左侧栏中,单击**“ProjectTaskList - ListInstance1”**。

    将显示“项目任务列表”页。

  4. 在**“列表工具”选项卡中,单击“项”**。

  5. 单击**“新建项”**。

  6. 单击**“任务”**。

  7. 在**“标题”**文本框中,键入 Task1。

  8. 单击**“保存”**。

    刷新网站后,将显示**“任务 1”**任务,其截止日期为 7/1/2009。

  9. 单击**“任务 1”**。

    将显示任务的详细视图,并显示说明“这是一个关键任务”。

部署项目任务列表

生成并测试项目任务列表后,可以将它部署到本地系统或者远程系统。 本地系统是在其上开发解决方案的同一计算机,而远程系统是其他计算机。

将项目任务列表部署到本地系统

  • 在**“生成”菜单上,单击“部署”**。

    Visual Studio 回收 IIS 应用程序池、收回解决方案的所有现有版本、将解决方案包 (.wsp) 文件复制到 SharePoint,然后激活其功能。 现在可以在 SharePoint 中使用该解决方案了。 有关部署配置步骤的更多信息,请参见如何:编辑 SharePoint 部署配置

将项目任务列表部署到远程系统

  1. 在**“生成”菜单上,单击“打包”**。

    这将在项目的二进制调试文件夹 (…\<Project Name>\<Project Name>\bin\Debug) 中为解决方案创建 .wsp 文件。

  2. 将 .wsp 文件复制到远程 SharePoint 系统。

  3. 使用 PowerShell Add-SPUserSolution 命令在远程 SharePoint 安装上安装该程序包。 (对于场解决方案,请使用 Add-SPSolution 命令。)

    例如,Add-SPUserSolution C:\MyProjects\ProjectTaskList\ProjectTaskList\bin\Debug\ProjectTaskList.wsp。

  4. 使用 PowerShell Install-SPUserSolution 命令部署解决方案。 (对于场解决方案,请使用 Install-SPSolution 命令。)

    例如,Install-SPUserSolution –Identity ProjectTaskList.wsp –Site http://NewSiteName。

    有关远程部署的更多信息,请参见 Using Solutions(使用解决方案)和 Adding and Deploying Solutions with PowerShell in SharePoint 2010(使用 PowerShell 在 SharePoint 2010 中添加和部署解决方案)。

后续步骤

有关如何自定义和部署 SharePoint 解决方案的更多信息,请参见以下主题:

请参见

其他资源

打包和部署 SharePoint 解决方案