多くの人がこのルートで成功していると聞いていますが、私も文書化された証拠を示すことができません.
その方法は少し古くなっています - 私はいくつかのステップを単純化しました。動作するスタンドアロンのプリコンパイル ツールがあります。
- 適切なバージョンの protobuf-netを参照するシリアル化する DTO のプロジェクト/アセンブリを作成します。おそらくCoreOnly / ios、理想的にはそのdllが出力ディレクトリにコピーされるように設定されています(これにより、作業が楽になります)
走る
precompile "SomePath/YourDto.dll" -t:MySerializer -o:MySerializer.dll
(多分そのmono
前にモノを取得してexeをホストします)
MySerializer.dll
これにより、フレームワークが解決され、参照できるa がコンパイルされます。これには、ゼロ JIT が含まれます ( MySerializer.dll
dto dll と、dto dll が参照した protobuf-net のバージョンを参照します)。
- dto dll、シリアライザー dll、および protobuf-net dll を参照すると、次を使用するだけですべて動作するはずです。
new MySerializer().Serialize(...)
- ソリューションをコンパイルすると、プロジェクトはすべて適切に AOT になるはずです
喜んでご案内させていただきますが、現在私は Mac を使用していないため、今は確認できません。問題が発生した場合はお知らせください。フレームワークを解決できない場合は、追加-f:{path to the framework assemblies}
して手掛かりを与えることができます。