好吧,讓我的DataContractSerializer與我的對象圖一起工作。查看我之前的問題以獲取更多信息。RuntimeType:http://schemas.datacontract.org/2004/07/System'不是預期的
Serialization/Derialization of a tree structure
The deserializer has no knowlege of any type that maps to this contract
然而,我的領域之一,_UserPropertyDefinitions,被定義爲如下所示。它定義自定義屬性的列表,該用戶可以在數據結構添加到對象。該字符串是標識屬性的唯一鍵,而Type是屬性的類型,它總是像Bool,Int,String等的主要類型。
每個對象都有對應的Dictionary(String key,對象的值)集合來存儲它已經爲任何「用戶屬性」的
[DataMember]
private Dictionary<string, Type> _UserPropertyDefinitions;
我的對象圖連載罰款時,這個屬性是一個空集,但該值一次我的自定義屬性添加到該集合嘗試使用DataContractSerializer序列化時,出現以下異常。預計不會 :
類型 'System.RuntimeType' 與數據 合同名稱 'http://schemas.datacontract.org/2004/07/System RuntimeType'。添加靜態已知的已知 類型的列表中沒有任何類型 - 例如,通過使用 KnownTypeAttribute屬性或者 將其添加到傳遞給DataContractSerializer的已知類型 列表。
如果我刪除這個字段的DataMember屬性,我可以序列化/反序列化出來得到一個異常,但我當然放鬆了我在這個領域創建的設置。
對不起,延遲響應; -p Type.GetType()或Assembly.GetType() – 2009-04-13 08:12:56