我们即将部署我正在开发的软件项目的1.2版,从1.1版开始。就目前而言,如果我们将工作流程和支持程序集更新到1.2版本,仍有一些尚未完成的优秀工作流程将会中断,因为序列化工作流程将查找这些程序集的1.1版本。
一种可能的解决方案是将1.1版本的程序集放在GAC中。不幸的是,这是不可能的,因为1.1版本从未被赋予强名称。
如果我没记错的话,有一种方法可以包含一个文件,该文件告诉.Net运行时在查找1.1版程序集时可以加载版本1.2程序集,但我不记得调用了什么。我认为这是某种xml文件。有没有人记得这个叫什么,知道任何文档链接?
对于此迭代,替代解决方案是让我更改构建,以便工作流所需的程序集不会增加其版本号,并且它们使用1.1程序集中的特定版本号。这将起作用,因为它们没有任何变化,但这不是一个很好的长期解决方案。
长期而言,我必须开始使用强名称签署所需的程序集,以便将它们放入GAC。这里有任何潜在的问题吗?
答案 0 :(得分:2)
您根本无法对没有强名称的程序集进行版本控制,因此您无法做到这一点。最好的选择是保留现有的工作流程并复制它们以创建新的工作流程并更改这些副本以反映新的工作流程并开始将其用于所有新工作。
我做了一系列关于版本控制工作流程的博客文章。第一部分是here,其中包含其他人的链接。