2010-04-13 81 views
1

正如somedevelopers所述,工作流版本控制是SharePoint中的一个令人头疼的问题。版本控制SharePoint二进制工作流ASPX任务表

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

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

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

所以,我必须确保

  1. 组件与旧版本号由旧工作流程中使用的情况下(这一个是好的,我只是改变集版本号,并部署到GAC)
  2. 我必须确保老工作流仍然使用旧的aspx表单用户与工作流进行交互,但新的工作流版本应该使用新的aspx表单并提供更多选项(如何执行此操作?)。
+0

你使用什么版本控制方法来装配你的源代码? – DevinB 2010-04-13 12:51:03

+1

这听起来像你必须让你的aspx表单足够弹性以向后兼容。一个丑陋的黑客可能会根据代码背后的“版本检查”显示完全不同的表单。 – DevinB 2010-04-13 13:11:53

+0

从答案,我感觉我是误会的标签'版本控制'。也许我试图实现的东西叫做'版本控制'? – 2010-04-13 13:13:08

回答

1

如果你要承载您的WF任务形式_layouts像这样:

/_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代码隐藏动态加载一读之后的用户控件(task.ascx)来自主工作流程组件的AssemblyVersion属性,您可以版本化您的任务表单。

+0

是的,谢谢。这可能比向后兼容形式花费更少。 – 2010-04-14 09:03:45