Protobuf-net criando modelo de modelo com interface e classe básica abstrata

Estou tentando serializar um modelo usando o ótimo Protobuf-NET. Como não posso usar os atributos (os objetos são desconhecidos no momento da compilação), construí um TypeModel. Meu modelo de objeto consiste em uma classe TestDataObject, esta classe tem uma propriedade de ITestDataExtension. A classe base abstrata TestDataExtensionBase implementa essa interface e a classe TestDataExtension (myDataObjectExtA no código) herda desta classe bas

@ My TypeModel é construído assim:

        System.IO.MemoryStream tmpMemoryStream = new System.IO.MemoryStream();
        RuntimeTypeModel model = TypeModel.Create();
        MetaType basetype = model.Add(typeof(TestDataObject), true);
        MetaType interfaceType = model.Add(typeof(ITestDataExtension), true);
        //MetaType extBaseType = interfaceType.AddSubType(100, typeof(TestDataExtensionBase));
        MetaType extType = interfaceType.AddSubType(200, myDataObjectExtA.GetType());
        model.Add(typeof(TestDataExtensionBase), true);
        model.Add(myDataObjectA.Ext.GetType(), true);
        model.CompileInPlace();
        model.Serialize(tmpMemoryStream, myDataObjectA);
        byte[] tmpDat = tmpMemoryStream.ToArray();

Se eu executar o seguinte, as propriedades da classe base não serão serializadas e preciso que elas sejam serializada
Na minha opinião, eu deveria ter adicionado um subtipo para o TestDataExtensionBase assim:

        MetaType extBaseType = interfaceType.AddSubType(100, typeof(TestDataExtensionBase));
        MetaType extType = extBaseType.AddSubType(200, myDataObjectExtA.GetType());

Mas isso resulta em um: Sub-tipo inesperado: TestDataExtension. Alguém sabe o que estou fazendo de errado? Qualquer ajuda seria apreciada

questionAnswers(2)

yourAnswerToTheQuestion