2 に答える
2
同様の問題が発生しました。すべてのテストマシンで、ファイルが適切にデータコントラクトの逆シリアル化されていました。ただし、特定の顧客のマシンでは、エラーが発生して失敗しました
ClassNameはシリアル化できません。
DataContractAttribute
属性でマークを付け、シリアル化するすべてのメンバーに属性でマークを付けることを検討してくださいDataMemberAttribute
。
顧客は.NETFramework3.0を実行していたのに対し、すべてのテストは.NET Framework3.5SP1で行われたことがわかりました。
データコントラクトシリアライザーの動作は、.NETFramework3.0と.NETFramework3.5で異なるようです。3.5では、クラスがXMLシリアル化可能である場合、それは自動的にデータコントラクトシリアル化可能でもあります。ただし、これは.NETFramework3.0には当てはまりません。クラスは[DataContract]
またはで装飾する必要があり[Serializable]
ます。
お役に立てれば!
于 2010-06-04T05:00:11.570 に答える
0
問題は、一部のマシンに3.5SP1が搭載されていないことだと思います。
于 2010-09-30T09:10:16.710 に答える