C# では、protobuf-net から取得する .proto に名前空間があり、名前空間は取得されません。したがって、問題は、protobuf-net で名前空間/パッケージを含む .proto ファイルを生成 (および内部で使用) する方法です。
すべてのプロジェクトを解析して .proto ファイルを作成し、C++ アプリを C# アプリに接続した例
enum AnimationCode {
None = 0;
Idle = 1;
//...
}
と
enum SessionCode {
None = 0;
//...
}
その統合プロジェクトの .proto ファイルを protogen コンパイラに渡したところ、大量のファイルが得られました。
列挙型「SessionStateCode」には、「None」という名前の値がありません。
と
列挙値は C++ スコープ規則を使用することに注意してください。つまり、列挙値はその型の子ではなく兄弟です。
C++ コードはありません。
ポイントは、エンコードされた C# メッセージが少なくとも C++ から読み取れるようにすることでした。