2
我有一個3級繼承圖。 protobuf的2.0.0.611Proto-Buf繼承問題
QueryRequest
VenueQueryRequest
VenueQueryRequestV1
所有帶
[DataContract, System.Serializable, ProtoBuf.ProtoContract]
QueryRequest包括:
[ProtoInclude(10, typeof(VenueQueryRequest))]
[ProtoInclude(11, typeof(VenueQueryRequestV1))]
當我打電話SerializeWithLengthPrefix了VenueQueryRequestV1我得到 「未知子類型:VenueQueryRequestV1」
如果我在添加(不替換)之前做一個NY電話
RuntimeTypeModel.Default[typeof(QueryRequest)].AddSubType(10, typeof(VenueQueryRequest));
RuntimeTypeModel.Default[typeof(QueryRequest)].AddSubType(11, typeof(VenueQueryRequestV1));
我得到「重複字段號檢測; 10:Designertech.AzureServices.Messages.QueryRequest」 如果我只添加第二個,我得到了同樣的錯誤,但與11而不是10
如果我更換,我得到的原始錯誤
這使得它看起來對我來說,它應該知道的分型
我是否有可能搞亂的東西了澆注或者什麼地方? 目前,只有基類上有聲明的任何屬性。
[ProtoMember(1)]
IList<string> RequestedFields
這使我瘋狂。
順便說一句,這是用來產生消息,以饋入CloudFX Azure服務總線框架。
知道它會在臉上的某個地方盯着我。太感謝了。 –