2

WCF サービスで protobuf-net ライブラリを使用します。クライアントはJava-Androidで、私はその側でprotoファイルを扱っています。

.NET 側で手動でクラスをコーディングする必要がありますか、それとも protobuf-net が何らかの方法で .proto ファイルをサポートする必要がありますか?

4

2 に答える 2

6

相互運用から作業している場合は、.proto から開始するのが最適なオプションです。protobuf-net には、他のプラットフォーム用のコードを生成する方法と同様に、.proto から protobuf-net 互換クラスを作成できるコマンドライン ツール「protogen」と VS IDE アドインがあります。どちらも protobuf-net プロジェクト サイトで入手できます。すでにクラスがある場合は、protobuf-net クラスから .proto を生成するためのサポートもありますが、これは不完全です (実際、v2 に関しては、昨夜書いたばかりなので、まだ公式のダウンロードには含まれていません)。

クロスプラットフォームを使用している場合は、protobuf-csharp-port も検討することをお勧めします。これは、Jon による個別の並列実装であり、Java API と同様の API を保持しています。プラットフォーム間で同様の API を使用すると便利な場合があります。

于 2012-07-20T16:38:30.543 に答える
1

Java と相互運用しているため、.NET クラスを作成するのではなく、.proto ファイルから C# クラスを生成する必要があります。

私は protobuf-net を使用したことはありませんが (Java protobuf は広範囲に使用しました) 、.proto ファイルから C# コードを自動的に生成するVisual Studio ツールがあると思われます。コマンド ライン ツールもあるようですが、常に利用できるとは限りません

于 2012-07-20T16:10:30.027 に答える