2017-02-16 89 views
0

I 序列化從一個類中內部的不同類列表的數量。序列化功能正常工作,但反序列化功能無法正常工作。反序列化時無法在同一項目和DLL中找到程序集

錯誤: 「無法找到程序集 'SEPL.AutoDCRBIM,版本= 1.0.0.0, 文化=中立,公鑰=空'。」

這兩個函數都運行在同一個項目中,而不是不同的項目。

+0

你使用的串行 –

+0

'使用(流流= File.Open(路徑, FileMode.Create)) BinaryFormatter bin = new BinaryFormatter(); //bin.Binder = new AllowAllAssemblyVersionsDeserializationBinder(); bin.Serialize(stream,clsCheckModelErrors.bimdcr); }' –

回答

0

BinaryFormatter適用於類型信息。類型由其程序集定義。因此,「AssemblyA中的SomeType」與「AssemblyB中的SomeType」完全不同,即使它們碰巧是從相同的源文件編譯的。

XMLSerializer的使用,而不是它是基於合同的串行那裏,看起來很相似的類都很好,即使他們是在不同的組件

+0

我使用的不是類型A和類型B的相同DLL。 –

+0

函數的序列化和反序列化都使用與項目中類文件相同的程序集。 但沒有運氣。奇怪的是,serialize函數運行良好。它只是反序列化函數。 我甚至把這兩個函數作爲繼續代碼在一個函數中再次序列化工作,但反序列化選擇不工作。 –

+0

你試過xmlserializer嗎? –

相關問題