C# 要使XML可序列化,从ICollection继承的类型必须具有Add的实现

C# 要使XML可序列化,从ICollection继承的类型必须具有Add的实现,c#,asp.net,web-services,oop,csla,C#,Asp.net,Web Services,Oop,Csla,我有一个现有项目中的CSLA(1.x framework)对象,我正试图在一个新的.NET4.0项目中使用它。这些对象正在生产中使用,如果没有两组对象,我真的无法将它们转换为2.x或EF 在我的c#webservice(当我尝试运行它时)中,我得到以下错误: 就像我说的,这些对象是用vb.net编写的CSLA对象。我不知道从哪里看这个。是.NET4.0试图与CSLA1.x对话的问题,还是web服务问题(因为这些对象最初从未使用web服务) 有人知道我应该在哪里解决这个问题吗?我应该建议转换成CS

我有一个现有项目中的CSLA(1.x framework)对象,我正试图在一个新的.NET4.0项目中使用它。这些对象正在生产中使用,如果没有两组对象,我真的无法将它们转换为2.x或EF

在我的c#webservice(当我尝试运行它时)中,我得到以下错误:

就像我说的,这些对象是用vb.net编写的CSLA对象。我不知道从哪里看这个。是.NET4.0试图与CSLA1.x对话的问题,还是web服务问题(因为这些对象最初从未使用web服务)

有人知道我应该在哪里解决这个问题吗?我应该建议转换成CSLA 2.x吗


任何建议都将不胜感激

这是一个XmlSerializer限制;如果某个内容看起来像一个数据列表,它将希望通过Add方法向其中添加项

如果你有机会访问这些对象,请考虑添加这样的方法。我记不起它是想要添加(object)还是添加(SomeType),所以两者都试试


如果你无法控制这些对象。。。这将很难。为对象编写一个新的DTO层比以某种方式修补要快。

谢谢您的回答。。。DTO代表什么?我确实可以控制这些对象,但是,它们也在另一个项目中使用,这意味着我必须在这种类型的更改中包含更多的人。因此,您的DTO选项很有趣…@Jeff-数据传输对象-即一组专门用于serialization@Jeff-但在这种情况下,听起来您应该能够添加缺少的
add
To be XML serializable, types which inherit from ICollection must
have an implementation of Add(objectname.object) at all levels
of their inheritance hierarchy. objectname.objectList does not
implement Add(objectname.object).