修改已安装的SharePoint功能

时间:2010-01-12 09:17:21

标签: sharepoint workflow upgrade

我在SharePoint上编写了一个关于我们开发环境的顺序工作流程。测试后,我们决定将此工作流部署为暂存环境中的一项功能。我们做了以下事情:

  1. 使用gacutil

  2. 将强名称程序集复制到GAC
  3. 将feature.xml和workflow.xml复制到WebServerExtensions / 12 / templates / features / someFolder

  4. 已安装的功能(stsadm命令)

  5. 已激活的功能(stsadm命令)

  6. 所有工作都完全按计划进行,工作流程表现正常。问题是,我们决定改变代码中的内容(消息不是非常自我解释),因此在开发机器上我们按要求更新了消息并重建了项目。
    问题是,我们似乎无法找到正确摆脱此工作流程/功能的先前版本的方法。

    要部署升级,我们:

    1. 停用并卸载该功能(stsadm命令),也从GAC中删除。

    2. 增加了程序集的版本

    3. 从上面执行了步骤1到4.

    4. 当使用工作流时,我们仍然收到第一条消息,我们找不到一种方法来显示新消息。
      我们缺少什么?

2 个答案:

答案 0 :(得分:0)

所有工作流逻辑都“存在”您正在运行的代码程序集中。这意味着您可以从GAC中删除旧版本的DLL(不要更改程序集版本号,而是使用AssemblyFileVersion),并将其替换为新版本。

请注意,如果您更改了设计器中的工作流程,则运行旧工作流程版本的实例将“冻结”并且永远不会完成。在升级代码之前,请您的用户完成正在运行的WF-s。

答案 1 :(得分:0)

似乎问题出现在Workflow.xml文件中。 因为我增加了AssemblyFileVersion,并且只替换了GAC中的dll不起作用,我检查了两个xml文件:Feature和Workflow,看看哪个不能识别新的dll(如果是这种情况)。 workflow.xml文件中引用了旧版本。我更新了,再次安装并激活了该功能,现在它工作正常。
感谢您的支持!