私はとても幸せな protobuf-net キャンパーです。これまでのところ、[ProtoMember]、[ProtoInclude]、および友人のマークアップで通常の protobuf-net を使用して大きな成功を収めています。
ただし、特にiOS上のUnityのAOT環境で実行できるようにするには、protobuf-netコア、事前生成のシリアル化クラスに移動する必要があることに気付きました。
それはすべてグルーヴィーであり、具体的にこのブログ投稿からいくつかの良い指針を見つけ、protobuf-net 統合の移行を開始しましたが、この件に関する情報はインターウェブを正確に散らかしているわけではありません-少なくとも私のグーグルフーでカバーされている範囲ではありません.
次から次へと障害に遭遇し、ソースを掘り下げて何が起こっているのかを理解しようとすると、少しイライラします。protobuf-netコアと通常のブランドの概要/意図/ガイドラインのようなものを実際に使用できます。
私の最近の遭遇は、「非パブリック型は完全な dll コンパイルでは使用できません」という制限です。これは、現時点ではやや恣意的なように見えますが、既存の設計に影響を与えることを考えると、間違いなく非常に厄介です (削除してよかった理由です) protobuf-net を支持する通常の .net バイナリ シリアライザーの私自身)。
経験の共有/事後調査または同様の役立つリソースをいただければ幸いです。
編集:完成のために、これまでの私のシリアライザージェネレーターツールは次のとおりです:https://gist.github.com/AngryAnt/a19d8c67155163936aae