問題タブ [protobuf-net]
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# - Protobuf-netを使用して、突然、不明なワイヤタイプに関する例外が発生しました
(これは、RSSで見た質問の再投稿ですが、OPによって削除されました。この質問がさまざまな場所で何度か尋ねられたのを見たので、再度追加しました。形")
突然、ProtoException
逆シリアル化するとが表示され、メッセージは次のようになります。不明なワイヤタイプ6
- ワイヤータイプとは?
- さまざまなワイヤタイプの値とその説明は何ですか?
- フィールドが問題を引き起こしていると思われますが、これをデバッグするにはどうすればよいですか?
c# - ISerializable メカニズムで ProtoBuf-Net を使用することは可能ですか?
ISerializable を実装し、BinaryFormatter を使用してシリアル化を使用するプロジェクトがあります。BinaryFormatter クラスを持たない .net コンパクトに移行しています。ProtoBuf-Net を使用できるかどうか疑問に思っていました。シリアル化に GetObjectData() を使用するように ProtoBuf-Net に指示できますか? 具体的には、Serializer.Serialize(SerializableInfo, ISerializable) 関数の使い方を知りたいです。
追加されたソースコードを見たところ、関数
Serializer.Serialize(SerializableInfo, T t) where T is ISerializable は、制約 T is ISerializable をまったく使用しません。T が ISerializable であると宣言されたのはなぜですか?
c# - protobuf-net 拡張機能の使用方法
.proto ファイルを作成し、ProtoBufTool が .cs ファイルを正常に作成しました。私は csharp が初めてで、拡張フィールドを設定しようとしています。しかし、それを行う方法がわかりませんか?protobuf-net を使用して拡張機能を使用する方法の例はありますか?
私の .proto ファイル:
作成したクラスは次のとおりです。
serialization - メッセージでグループ タグの不一致が検出されました - protobuf-net
私はSilverlightを初めて使用します。私は、主にシリアライゼーションとデシリアライゼーションに依存するプロジェクトに取り組んでいます。
以前は、WPF の場合、シリアライズ可能なクラスに慣れていました。Silverlight の場合、protobuf が非常に役立つことがわかりました。しかし、私はこの例外に悩まされています。この問題の原因はわかりません。私を助けてください。
Silverlight 3.0 を使用しています。protobuf ネット r282
私が使用しているコードを見つけてください。
逆シリアル化に使用しているコードは
私のサンプル XML は次のようになります
前もって感謝します。
ヴィノード
c# - protobuf-net[de]アセンブリの境界を越えたシリアル化
あるアセンブリに基本クラスがあり、別のアセンブリに基本クラスから継承する多数の生成されたクラスがあります。サブクラスが基本クラスのアセンブリにないため、subclassType(SerializerT.csの248行目)を解決しようとすると、protobuf-net(r282)を使用して基本タイプのリストをシリアル化できません。クラスを一緒に移動することは好ましいオプションではなく、リストを渡すことができることがかなり重要です。
これが私のタグ付けされた基本クラスです。含まれているタイプには、必要に応じてマークが付けられてProtoMember(x)
います。
補足として、これは、デスクトップアプリとSOAPWebサービス間でデータを移動するためにBinaryFormatterを置き換えるためにprotobuf-netを使用することを評価することの一部です。
このようなことはできますか?もっと良い方法はありますか?明らかな何かが欠けているだけですか?別の長期的な質問は、3.5への最終的な移行に備えるために少し異なることをする必要があるかどうかです。
wcf - .NET コンパクト フレームワークでの WCF ホスティング
WinCE デバイスでサービスをホストしたいと考えています。WinCE デバイスは、シリアル ポート、TCP、USB などを介して複数のクライアント (PC または WinCE) からアクセスできるホストです (制御とデータ取得)。WCF またはリモーティングを使用するのが理想的ですが、私が見る限り、それらは Compact Framework に実装されていません。これを達成する方法は誰にでもあります。
c# - プロトコル バッファ c# (protobuf-net) Message::ByteSize
Message::ByteSize
シリアル化されたメッセージの長さをバイト単位で調べるために、C++ API に相当する protobuf-netを探しています。
.net - Protobuf-net - .NET GUID のシリアル化 - C++ でこれを読み取る方法は?
.NET アプリケーションで Protobuf-net を使用して比較的簡単にオブジェクトをシリアル化しました。GetProto() コマンドを使用して、protobuf-net が生成した .proto ファイルも取得します。
.NET で生成された .proto ファイルで、GUID フィールドは「bcl.guid」のタイプを取得します。
ここで、.proto ファイルを C++ でコンパイルして、データを逆シリアル化できるようにします。
ただし、C++ protoc.exe コンパイラは bcl.guid の解釈方法を認識せず、「VideoAudioStructs.proto:11:13: "Guid" is not defined.」というエラー メッセージをスローします。これをどうすればいいですか?
c# - protobuf-net: 空のリストのシリアル化
空のリストのシリアル化にはいくつかの問題があります。CF 2.0 を使用した .NET のコード
ストリームに書き込もうとすると例外が発生しました (bytes.length が範囲外)。しかし、空の List を持つ型は 0 バイトであってはなりませんよね (型情報?)?
応答にはクライアントへのサーバーからのメッセージがあるため、このタイプの送信が必要です。
c# - protobuf-net が 0 をデシリアライズしない
C# で protobuf-net r278 を使用していますが、int
フィールドを持つクラスがある場合、値が 0 に設定されているとフィールドが適切に逆シリアル化されないことに気付きました。つまり、逆シリアル化すると、デフォルト値が取得されます。クラス定義。クラスの例:
次に、次のコードを実行します。
これを行うと、0 ではなくとdeser
があります。ここで何か間違ったことをしていますか?Field1 = -1
Field2 = 2