問題タブ [proto3]
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.
c# - proto2 は proto3 メッセージを読み取ることができません
proto3 にアップグレードすることを決定しましたが、しばらくの間、proto2 を実行しているデバイスと通信できる必要があります。
現在、キーワードが原因で proto2 側でデシリアライズできないメッセージがいくつかあるという問題に直面していますrequired
。
これは、問題のあるメッセージの 1 つです (proto2)。
このメッセージを proto2 クライアントに送信しようとして、時間 = 1、分 = 2、マイクロ秒 = 0 のような値を設定した場合、クライアントはこのメッセージを逆シリアル化できません。microseconds=1 に設定すると、proto2 クライアントは問題なくメッセージを読み取ることができます。
これは、次の生成された C# コードに要約されます
そのため、フィールドの値がデータ型のデフォルト値と同じである場合、生成された proto3 コードはフィールドを送信しないようです。もちろん、これは proto2 を混乱させ、メッセージをデシリアライズしたくありません。なぜなら、フィールドは としてマークされてrequired
いますが、値が受信されていないからです。
(デフォルト値が設定されていても) 常にすべてのフィールドを送信するコードを生成するようにプロトコルを強制することは可能ですか、それとも他の方法で解決できますか?
ありがとう
c# - 「ビルド>クリーンソリューション」を実行するときに、すべての「.proto」ファイルをあるディレクトリから別のディレクトリにコピーしたい]
私は .proto ファイル (Proto3) を使用しており、[Build] > [Clean] ソリューションを実行するときに、すべての .proto ファイルをあるディレクトリ (プロジェクト外) から別のディレクトリ (VS プロジェクト内) にコピーしたいと考えています。
前もって感謝します。
「Visual C# プロジェクト ファイル (.csproj)」ファイルを変更しようとしましたが、成功しませんでした
すべての .proto ファイルをプロジェクト内のフォルダーにコピーしたい。