1
似乎將自定義模擬器規則的DLL,版本和命名空間編碼到.ptd中的開發狀態。如何移動自定義模擬器規則定義
我想將自定義規則的代碼等移動到新的名稱空間/ DLL中。
我們使用序列化綁定代碼處理自定義域對象樣式。是否有可能爲自定義模擬器規則做同樣的事情?
乾杯,
尼爾
似乎將自定義模擬器規則的DLL,版本和命名空間編碼到.ptd中的開發狀態。如何移動自定義模擬器規則定義
我想將自定義規則的代碼等移動到新的名稱空間/ DLL中。
我們使用序列化綁定代碼處理自定義域對象樣式。是否有可能爲自定義模擬器規則做同樣的事情?
乾杯,
尼爾
答案羅伯特:
海燕2012具有的工作步驟和進程的新屬性:你需要實現UniqueIdCore方法,以提供全球(所有項目)以Guid形式固定且穩定的唯一ID。這個UniqueId將被序列化爲Petrel項目;它用於序列化的工作流程中。在2012年發佈之前,如果更改了workstep的程序集或名稱空間,則序列化的工作流程將會中斷。如果您稍後想更改工作步驟類型,只要您提供相同的唯一標識符,就可以在不破壞序列化工作流的情況下執行此操作。
答案尼爾:
關於與同事交談中,它是一個ARG包軟化標識字符串的問題,所以很遺憾這意味着你無法將其移動到不同的組件,甚至改變類的名稱。 現在只有一種半工作可能(沒有檢查它):將arg包放在舊的程序集/類名稱中,然後移動其他所有內容,但這當然不是一個好的解決方案。
我懷疑自定義工作步驟有同樣的問題。 Petrel忽略程序集版本,但鎖定到固定的程序集名稱,名稱空間和類名是一個主要的難題。 –
順便說一下,自定義序列化綁定僅適用於二進制序列化(但Petrel僅調用某些對象的綁定器,如自定義域對象及其內容),而不是使用例如自定義域對象及其內容的II標識符。通過IDataSource進行XML序列化。 –