I am trying use protobuf v2 to serialize a class A implements interfaces B and C. And both B and C derived from D.
[ProtoBuf.ProtoContract]
[ProtoBuf.I
Interfaces are not really the same kind of "derived" (inheritance) as class inheritance. While basic interface support is provided, this is not a scenario that protobuf-net currently supports.
As to whether it could support it - that would take some thought. I would suggest logging a request, here.