【发布时间】:2011-02-28 01:10:23
【问题描述】:
在我的 web 服务中,我引用了一个 dll,该 dll 包含一个类型为 Icon(以及其他类型为 string 和 DateTime)的属性。
在我的 UnitTest 项目中创建服务引用时,出现以下错误。
错误:
具有数据协定的ISerializable 类型 在命名空间中命名“图标” 'http://schemas.datacontract.org/2004/07/System.Drawing' 无法导入。数据合同 命名空间不能自定义 ISerializable 类型和生成的 命名空间 'KoenHoefman.ExchangeRate.WS.NUnit.QueryService' 与所需的 CLR 不匹配 命名空间'System.Drawing'。检查是否 已映射所需的命名空间 到不同的数据合约命名空间 并考虑明确映射它 使用命名空间集合。
我确实可以访问此 dll 的源代码,因此可以进行一些更改,但这些更改应该被最小化。该类标有Serializable 属性,这可能会给出前面的错误。删除此属性时,我收到另一个错误,指出我必须用 DataContractAttribute 标记类,用 DataMemberAttribute 标记成员。
现在对我来说,这似乎是一个很大的变化,因为这个类很少在 web 服务中使用(只是这一次)。我还没有尝试过,但我想知道是否有其他解决方案可以解决我的问题。
谢谢。
【问题讨论】:
标签: c# wpf serialization