問題タブ [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.
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";
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 パッケージのみを使用することはできませんか? そうでない場合、どのパッケージを追加の依存関係として追加する必要がありますか? 些細なことを見逃しているかもしれませんが、今のところ理解できないようです。