Ocean Workstep派生クラスが本番環境にリリースされると(そしてクライアントによって使用されると)、その名前、名前空間、およびアセンブリ名は、将来の更新のために効果的にロックされるようです(下位互換性を確保するため)。
Petrelプロジェクトが保存されると、ワークステップ参照はバイナリファイルClasses.ptd内にフルタイプ名(名前空間、クラス、厳密なアセンブリ名)として保存されます。ロード中に、正確なタイプ名(アセンブリバージョンが無視されているように見える)を解決できない場合、ワークフローエディターにワークステップが「ワークステップが利用できません」と表示されます。
私たちが遭遇したバイナリシリアル化の他のインスタンスでは、PetrelはSerializationBinder
登録済みを利用PetrelSystem.ProjectSerializationService
します-Workstepインスタンスではそうではありません。
Workstepクラス/名前空間/アセンブリの名前変更を容易にする他の方法はありますか?
なぜこの振る舞いは(もしあったとしても)あまり文書化されていないのですか?私たちは何かを誤解しましたか?