デバイスを対象とするプロジェクトで、MarcGravellのprotobuf-net C#プロトコルバッファ実装を使用しようとしています。Unity3DiOS
を使用して、プロトコルバッファファイルからC#ファイル(と呼びましょう)を作成することができました。MyFile.csMyFile.protoprotogen
ファイルをインポートするとprotobuf-net.dll(Unityフォルダー内のdllを使用しています)、以前にシリアル化されたファイルを正常に逆シリアル化できます(Pythonコードからシリアル化を実行しており、すべて正常に動作します)。
MyType myType;
using (var file = File.OpenRead("Assets/MyTypeBin"))
{
myType = ProtoBuf.Serializer.Deserialize<MyType>(file) ;
}
上記の解決策はシミュレーターでは正常に機能しますが、iOSデバイス(es.ipad)をターゲットにすると失敗します。
からに切り替えようとしunity/protobuf-net.dllましCoreOnly/ios/protobuf-net.dllたが、最後の1つではコンパイルに失敗します。Deserializeメソッドは、コアdll内で宣言されていないようです。
エラーCS0117:逆シリアル化
ProtoBuf.Serializer' does not contain a definition for'
この記事を読みましたが、かなり時代遅れのようです。これは、の古い実装を指しprotobuf-netます。その間に何かが変わったことを願っています。
私の質問は:
からデバイスをターゲット
protobuf-net r602にして使用することは可能ですか?iOSUnity3Dシリアル化/逆シリアル化するモデルクラスのライブラリdll(アセンブリ)を作成する
リンクされたブログ投稿で提案されているように?プロジェクト内で
C#生成されたファイルを直接インポートするなど、より高速なワークフローが必要ですprotogenUnity3Dはいの場合、どのように?どちら
dllを参照する必要がありますか?iOS上記のスニペットをデバイスで再び機能させるための手順はどれですか?