Visual Studio 2008 (.net 3.5 sp1) によって生成された WCF サービス参照 (= クライアント プロキシ) があります。生成されたコードには、DateTimeOffset プロパティを持つデータ コントラクトが含まれているため、当然 VS は KnowTypeAttribute(System.DateTimeOffset) で装飾します。
上記のデータ コントラクトを返す WCF 操作を呼び出すたびに、次の例外が発生します。
タイプ 'System.DateTimeOffset' を既知のタイプのリストに追加できません。別のタイプ 'System.Runtime.Serialization.DateTimeOffsetAdapter' が同じデータ コントラクト名 ' http://schemas.datacontract.org/2004/07/System:DateTimeOffsetであるためです。 ' はすでに存在します
DateTimeOffsetAdapter は、DateTimeOffset オブジェクトをシリアル化するときに使用される System.Runtime.Serialization の構造体であることを理解しています。では、なぜこの例外が発生するのでしょうか?また、これを修正または回避するにはどうすればよいでしょうか?