版本控制SharePoint二进制工作流ASPX任务表单

时间:2010-04-13 12:48:34

标签: asp.net sharepoint forms workflow versioning

正如some developers所述,工作流版本控制在SharePoint中令人头疼。

我想知道有没有办法让我的aspx表单版本化?当然,我可以在程序集后面编写代码,但是如果LAYOUTS文件夹中的任何文件的标记更改了吗?是否有可用于文件的版本控制,还是我必须为表单选择新的文件名?

对不起,我应该更具体一点。 是的,我有版本控制下的文件(我可以恢复以前的版本等),但我不是在谈论这种版本控制。但是,通过部署新的工作流版本,我不能删除旧版本,因为它仍然在SharePoint中的许多项目上运行,而是如前面的链接中所述,部署新的,因此我不会破坏工作流程的执行。

但如果我不保留用户用来与工作流互动的旧aspx表单,工作流仍会中断。

所以我必须确保

  1. 旧工作流程使用旧版本号的程序集存在(这一个没问题,我只是更改了程序集版本号并部署到GAC)
  2. 我必须确保旧的工作流程仍然使用旧的aspx表单用户与工作流程进行交互,但新的工作流程版本应该使用具有更多选项的新aspx表单(如何执行此操作?)。

1 个答案:

答案 0 :(得分:1)

如果您要在_layouts中托管您的WF任务表单,请执行以下操作:

/_layouts/myapp/task.aspx // <- unversioned
/_layouts/myapp/1.0.0.0/task.ascx // <- versioned
/_layouts/myapp/1.0.0.1/task.ascx
/_layouts/myapp/1.0.0.2/task.ascx

...并且在task.aspx中的代码隐藏在首次从主工作流程序集中读取AssemblyVersion属性后动态加载usercontrol(task.ascx),您可以对任务表单进行版本化。