問題タブ [protogen]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
442 参照

protobuf-net - protogen.exe でオプション フィールドを正しく生成できます

ここhttps://protogen.marcgravell.com/から CLI protogen.exe をダウンロードし、次のコマンド ラインを使用して、ここ*Specifiedに記載されているように、オプションのメンバーのアクセサーを含む C# ファイルを生成しようとしました。

protogen --csharp_out="." MyProtoFile.proto +p:detectMissing

値型を使用するすべての省略可能なメンバーには、null 許容型またはSpecifiedアクセサーがありません。

また、次の警告メッセージが常に表示されます。

google/protobuf/descriptor.proto(41,1,41,8): warning: no syntax specified; it is strongly recommended to specify 'syntax="proto2";' or 'syntax="proto3";'

私のprotoファイルの最初の行は次のとおりであるため、理解できません。

syntax="proto2";

0 投票する
1 に答える
519 参照

c# - 「FieldOptions」の拡張子を持つproto2ファイルにprotobuf-netを使用してC#ファイルを生成することは可能ですか?

proto2 構文の proto ファイルがあります。protogen を使用して C# ファイルを自動生成しようとしています。エラーなしでファイルを生成できますが、プロジェクトのビルド中にエラーが発生します (C# ファイルは Visual Studio の .Net 5 プロジェクトの一部です)。エラーは次のようになります。

エラー CS0400: グローバル名前空間で型または名前空間名 'Google' が見つかりませんでした (アセンブリ参照がありませんか?)

「descriptor.proto」を正しいパスに追加しましたが、protogen が C# ファイルを自動生成する方法に違いはないようです。

myproto.proto

myproto.cs

エラーはExtensions、生成された「myproto.cs」の両方のメソッドの静的クラスで発生します。追加の Google パッケージなしで protobuf-net パッケージのみを使用することはできませんか? そうでない場合、どのパッケージを追加の依存関係として追加する必要がありますか? 些細なことを見逃しているかもしれませんが、今のところ理解できないようです。