Эта проблема будет на самом деле исправлена с помощью API Ocean 2012.1.Справочник по рабочим шагам больше не будет содержать номер версии: очищен как рабочий шаг, так и сериализация процесса.Номер версии не сериализован (и не используется при десериализации), и вместо имени типа можно использовать UniqueId.
Вот выдержка из замечаний к выпуску 2012.1 Ocean по этому вопросу.
Пространство имен уникальных идентификаторов процессов и рабочих шагов: Slb.Ocean.Petrel.Workflow
Процессы и рабочие шаги, созданные в Ocean, до сих пор не имели правильного идентификатора.Они были идентифицированы по полному имени типа, включая номер версии, что означает, что их идентификатор может измениться, например, если: - Номер версии сборки плагина был увеличен (например, установка нового плагина).- Класс process / workstep был перемещен в новую сборку.- Пространство имен класса process / workstep было изменено.Это может вызвать проблемы в Petrel, такие как отображение «неработающей ссылки» вместо имени процесса в дереве «Избранное» или рабочего шага, отображаемого в редакторе рабочего процесса как «рабочий шаг недоступен».
Чтобы решить эту проблему,Ocean удалила номер версии из идентификатора процесса и рабочего шага и предоставляет новый API для поддержки пользовательского идентификатора для пользовательских процессов и рабочих шагов, который будет уникальным для всего приложения Petrel.Любой процесс / рабочий шаг, созданный через Ocean, теперь должен реализовывать уникальный идентификатор.
Пожалуйста, обратитесь к: - Process.UniqueId
для определения уникального идентификатора для процессов - Workstep.UniqueId
для определения уникального идентификатора для рабочих шагов.Новый API также предлагает поддержку обратной совместимости для уже сериализованных процессов / рабочих шагов и несколько изменений в логике сериализации.При открытии устаревшего проекта идентификаторы старого стиля автоматически заменяются новыми идентификаторами во время десериализации.
С наилучшими пожеланиями, Гэль