我有一个由 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 是 System.Runtime.Serialization 中的一个结构,用于序列化 DateTimeOffset 对象。那么为什么它会导致这个异常,如何解决或避免这个异常呢?