0
4

2 に答える 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 に答える