2011-08-19 52 views
0

我收到「無法序列類型...」錯誤試圖序列化的BindingList。我最初的想法是收集是問題。我繞過集合,並試圖返回類的單個實例...相同的錯誤。這些類包含在一個單獨的項目中(但在相同的解決方案中);我的下一步是將外部項目中的類複製並粘貼到WCF項目中。沒有其他更改,對象現在序列化。C# - WCF - 序列化外部類

這是一個命名空間或persmissions問題?此時我無法重新構建解決方案。什麼會阻止班級在另一個具有相同代碼的項目中分流?提前致謝。

+0

您可以發佈完整的異常詳細信息(即exception.ToString())嗎? –

+1

您是否將Serializable屬性添加到類中?仍然沒有解釋爲什麼它移植時,它的工作,但我很好奇。 –

+0

當我返回對象的一個​​的BindingList,我的BindingList被標記爲Serializable'[序列化] 公共類BindingListBase :的BindingList '各個類(前和移動後)被標記爲'[DataContractAttribute] [DataContractAttribute] 公共類ICAddress:INotifyPropertyChanged的,IObject提取' – Sirentec

回答

0

對此問題進行修復是簡單地重新創建WCF解決方案和類庫項目添加到它。我不知道問題是什麼。也許不好的元信息或什麼的。

0

通常,當我們得到這樣的錯誤是,沒有序列化或DataContract /數據成員屬性的子類。

什麼是您正在使用爲T類?該類是否標記爲可序列化?

編輯

對於註釋錯誤看到"An attempt was made to load a program with an incorrect format" even when the platforms are the same

+0

不,事實並非如此。它被標記爲[DataContractAttribute]。但是,它在移植時可以正常工作。獨立並作爲BindingList集合的一部分。我注意到我的引用是程序集引用,所以我將它們吹走並重新添加爲項目引用。現在我收到消息「試圖加載格式不正確的程序」。一切都設置爲編譯爲64位。 – Sirentec

+0

一切都在建設到64位。我吹走了所有項目的bin和obj文件夾並重建。所有IIS應用程序池都設置爲允許32位應用程序。同樣的錯誤... – Sirentec