【问题标题】:SharePoint Deployment using WSP使用 WSP 部署 SharePoint
【发布时间】:2014-05-07 03:47:03
【问题描述】:

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

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

【问题讨论】:

  • 从“Sharepoint”出现在您的问题中的次数来看,建议SharePoint 是一个很好的提问场所。

标签: sharepoint deployment sharepoint-2010 wsp


【解决方案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

【讨论】:

  • 缩进时,你只需要继续搬运更多。
  • 奇怪的是我从来没有遇到过这样的问题......也许我需要咖啡:)
  • 我从未体验过无需执行 Uninstall-SPSolution、Remove-SPSolution、Add-SPSolution、Install-SPSolution 组合即可更新的功能。你有什么经验创建包不需要整个痛苦链?
  • 如果您只更新代码,您始终只能在 GAC 中安装程序集。如果您在功能中配置内容,那么是的,您没有任何办法解决这个问题
  • 我使用标准工具,但是当我进行代码更改时,我只部署程序集。如果您通过代码进行配置,这是一个额外的好处,因为您可以按照上面的步骤 2 重新激活您的功能并配置 eveyrhting,而不必通过安装卸载解决方案组合
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-08-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多