Eric Lippertは SO の記録で次のように述べています。
Reflection.Emit は、実際のコンパイラの構築に使用するには弱すぎます。LINQ クエリで動的な呼び出しサイトや式ツリーを生成するなどの小さなおもちゃのコンパイル タスクには最適ですが、コンパイラで直面するような種類の問題については、すぐにその機能を超えてしまいます。Reflection.Emit ではなく、CCI を使用します。
残念ながら、Reflection.Emit で作成された (私が作成したものではありません) 本物のコンパイラがあります。それらの制限に痛々しく突き当たっており、私はエミット コードを CCI に変換したいと考えています。ただし、同等のものはないように思われるものをいくつか見つけています。
たとえば、次の行です。
_asmBuilder.DefineVersionInfoResource();
_moduleBuilder.CreateGlobalFunctions(); //setup global .data
そもそも ModuleBuilder に相当するものが見つからないため、同じことを行う方法がわかりません。
Reflection.Emit プロジェクトを CCI に変換する方法について、適切なリファレンスやドキュメントはありますか?