似乎一旦将 Ocean Workstep 派生类发布到生产环境(并被客户端使用),它的名称、命名空间和程序集名称就会被有效地锁定以供将来更新(以确保向后兼容性)。
保存 Petrel 项目时,工作步骤引用将保存为二进制文件 Classes.ptd 中的完整类型名称(命名空间、类、强程序集名称)。在加载过程中,如果无法解析确切的类型名称(程序集版本似乎被忽略),则工作步骤在工作流编辑器中显示为“工作步骤不可用”。
在我们遇到的其他二进制序列化实例中,Petrel 使用已SerializationBinder
注册的PetrelSystem.ProjectSerializationService
- 对于 Workstep 实例并非如此。
有没有其他方法可以促进 Workstep 类/命名空间/程序集重命名?
为什么这种行为的记录如此糟糕(如果有的话)?我们是不是误会了什么?