2009-05-04 7 views
3

DataContractSerializerを使用して型をシリアル化しようとしていますが、以下の例外が発生しています。これはSOAサービスではありませんが、可能であればDataContractSerializerを使用したいと考えています。私は.Net 3.5 SP1を使用しています。DataContractSerializerを使用してオブジェクトをシリアル化できないのはなぜですか?

タイプ 'System.DelegateSerializationHolder + DelegateEntry' データコントラクト名を持つ 'DelegateSerializationHolder.DelegateEntry:http://schemas.datacontract.org/2004/07/System' が期待されていません。知ら タイプのリストに静的に既知の任意のタイプではない を追加 - たとえば、DataContractSerializerに渡される既知のタイプ のリストに追加する KnownTypeAttribute属性を使用して、または で。

答えて

4

あなたのクラス定義を投稿できますか?

デリゲート型のフィールドを持つクラスをシリアライズしようとしているようですが、シリアライザのチョークを作成することは間違いありません。

DataContract/DataMember属性でクラスを修飾しましたか? 3.5 SP1には、これらの属性でマークされていないクラスのすべてのパブリックをデフォルトでシリアライズするシリアライザのデフォルトの動作があります。シリアル化する必要がある各プロパティをDataMember属性で明示的にマークし、そうではいけないものを除外する必要があります。

それ以外の場合は、クラス定義を参照してください。

関連する問題