私はもともとGoogle Protobuf 3.1 protocコンパイラを使ってFilepath.csクラスを自動生成していました。 filepath.protoファイルはproto2構文のために書かれているので、私はproto3にcomformするファイルを手動で変更しなければなりませんでした。古いバージョンのGoogle Protobufを使ってオブジェクトを作成する
私のコントロール外の理由から、proto2の構文に固執する必要があることが判明しました。 proto2バージョン3.0.0alpha3がproto2ファイルのC#コード生成をサポートしていることが判明しました。新しいprotocバージョンではproto2ファイルのC#コード生成がサポートされていないため、アルファ3に戻しました。
生成されたコードは変わりありませんし、私の既存のコード(元々protoc 3.1で働いたことは、もはや作品):
FilePath fp = new FilePath
{
Path = "TestPath",
TestValue = 5.0f
};
このコードの塊は、もはやアルファ3で動作していないファイルを生成しました。 Protobufの古いバージョンを使用してオブジェクトを適切に直列化/逆シリアル化する方法を知っている人もいれば、古いチュートリアルがどこかにアーカイブされている場合もありますか?
私が行うことができる午前:
FilePath fp;
fp.Path = "test_path_here"; //ERROR - no SETTER, only a GETTER
フィールドPath
とTestValue
はゲッター、ノーセッターを持っています。