使用WSP进行SharePoint部署

时间:2014-03-27 21:53:53

标签: sharepoint deployment sharepoint-2010 wsp

我正在寻找将频繁的自定义代码更改部署到SharePoint 2010服务器的最佳实践,我的更改包括所有类型的更改,如Web部件,内容类型,工作流,功能接收器,页面图像和布局文件夹中的脚本等。到目前为止我在文档中发现的是,建议将WSP包用于SharePoint的部署。关于使用WSP软件包频繁更改代码,我几乎没有问题

  1. 在安装更新的WSP包之前,我们是否需要撤消WSP包?通过此包进行以前的代码部署会发生什么。我们是否需要保留wsp包中的所有先前更改,以便在我们撤消并删除旧版本时,我们会从先前版本和新版本中获得所有代码更改。
  2. 通过各种部署保持wsp包中的所有代码更改可能会导致问题,以防我们在包中包含内容类型和列表实例,如何管理这种更改?
  3. 如果我们为每次更改迭代创建新的wsp包,那么它是否会使用大量的wsp包阻塞我的服务器,每个代码更改周期一个?

1 个答案:

答案 0 :(得分:1)

我试着回答你的问题:

  1. 是和否。如果要部署汇编代码更改,则可以撤消解决方案而不停用任何功能。这将更新GAC中的程序集。如果您需要更新内容类型等功能中的资源,则需要停用/激活功能。

  2. 我已经开始采取的措施来缓解这个问题,我所有的wsp都是通过代码提供所有内容,没有内容类型的xml,列表实例等。然后我做的是跟踪当前版本我的功能(使用web.Properties包或东西)。每当我激活该功能时,我都会检查当前版本并运行该版本的相应代码。所以在功能激活中我有类似的东西:

    var version = //get version here from property bag or list etc
    
    if (version < 1.2){ 
        provisioFinanceContentType();
        createFinanceList();
    }
    
    else if (version <1.3)
    {
          //etc.
    }
    version = 1.3
    //persist version to storage
    
  3. 不要创建新的WSP使用上述修订系统