Force protobuf-net para ignorar as interfaces IEnumerable / ICollection

Como posso obter a v2 do protobuf-net para ignorar o fato de que minha classe implementa ICollection, IEnumerable, et

Para este cenário específico, quero apenas que os campos que sinalizei como [ProtoMember] sejam serializado

Atualmente, estou no processo de converter o uso do protobuf-net v1 para o uso da v2. Eu tenho uma estrutura específica que agora está serializando incorretamente por causa da alteração. Parece algo como o seguinte:

[ProtoContract]
public class FileTree : ICollection<FilePath>, IEnumerable<FilePath>, IEnumerable, INotifyCollectionChanged, INotifyPropertyChanged {

    private FileTreeNode _Root;

    [ProtoMember (1)]
    public FileTreeNode Root {
        get { return _Root; }
        set { _Root = value; }
    }
}

A classe FileTree foi gravada para recolher caminhos de arquivos como "C: \ happy.txt" "C: \ history.txt" em algo mais como

"C:\h"
└─── "appy.txt"
└─── "istory.txt"

A estrutura elimina a redundância nas cadeias de caminho. Então, eu realmente não quero que a classe FileTree seja serializada por meio das funções IEnumerable, porque ela é armazenada como "C: \ happy.txt", "C: \ history.txt" etc. etc. Agora, na serialização de um objeto FileTree, cada caminho está sendo impresso na íntegra.

EDITAR Uma última coisa que devo mencionar - eu tenho uma função On_Deserialization no FileTree que está marcada com [ProtoAfterDeserialization]. Coloquei um ponto de interrupção na função, mas não está sendo atingido. Isso está relacionado à maneira como esta classe está sendo serializada?

questionAnswers(1)

yourAnswerToTheQuestion