我在SharePoint上编写了一个关于我们开发环境的顺序工作流程。测试后,我们决定将此工作流部署为暂存环境中的一项功能。我们做了以下事情:
使用gacutil
将feature.xml和workflow.xml复制到WebServerExtensions / 12 / templates / features / someFolder
已安装的功能(stsadm命令)
已激活的功能(stsadm命令)
所有工作都完全按计划进行,工作流程表现正常。问题是,我们决定改变代码中的内容(消息不是非常自我解释),因此在开发机器上我们按要求更新了消息并重建了项目。
问题是,我们似乎无法找到正确摆脱此工作流程/功能的先前版本的方法。
要部署升级,我们:
停用并卸载该功能(stsadm命令),也从GAC中删除。
增加了程序集的版本
从上面执行了步骤1到4.
当使用工作流时,我们仍然收到第一条消息,我们找不到一种方法来显示新消息。
我们缺少什么?
答案 0 :(得分:0)
所有工作流逻辑都“存在”您正在运行的代码程序集中。这意味着您可以从GAC中删除旧版本的DLL(不要更改程序集版本号,而是使用AssemblyFileVersion),并将其替换为新版本。
请注意,如果您更改了设计器中的工作流程,则运行旧工作流程版本的实例将“冻结”并且永远不会完成。在升级代码之前,请您的用户完成正在运行的WF-s。
答案 1 :(得分:0)
似乎问题出现在Workflow.xml文件中。
因为我增加了AssemblyFileVersion,并且只替换了GAC中的dll不起作用,我检查了两个xml文件:Feature和Workflow,看看哪个不能识别新的dll(如果是这种情况)。 workflow.xml文件中引用了旧版本。我更新了,再次安装并激活了该功能,现在它工作正常。
感谢您的支持!