我在一个程序集中有一个基类,在另一个程序集中有大量从基类继承的生成类。尝试解析 subclassType(SerializerT.cs 的第 248 行)时,使用 protobuf-net (r282) 序列化基类型列表失败,因为子类不在基类的程序集中。将这些类一起移动不是一个首选选项,我可以传递 List 是相当重要的。
这是我标记的基类。包含的类型ProtoMember(x)
根据需要标记。
[ProtoContract]
[ProtoInclude(1,"SomeItemType")]
[ProtoInclude(2,"AnotherItemType")]
[ProtoInclude(190,"YetAnotherItemType")]
public abstract class BaseItem
{
}
作为旁注,这是评估使用 protobuf-net 替换 BinaryFormatter 以在桌面应用程序和 SOAP Web 服务之间移动数据的一部分。
我可以做这种事情吗?有没有更好的办法?我只是错过了一些明显的东西吗?一个单独的长期问题是我是否应该做一些稍微不同的事情来为最终迁移到 3.5 做准备?