2015-10-21 11 views
11

IKVM.Reflection.Emitには、「.NET 1.1、.NET 2.0、および.NET 4.0アセンブリの読み取りと出力が可能です(.NET 2.0 )。 "IKVM.Reflection.EmitとMono.Cecilの相違点

Mono.Cecilは同じですか?このユースケースのためにそれらは交換可能ですか?彼らはどちらも最近サポートされていますか?それらの主要な違いは何ですか?

答えて

1

これは古い質問ですが、私は答えを提供したいと思います。 IKVM.Reflection.Emit APIは、その著者がSystem.Reflection.EmitCecil.Reflection.Emitに疲れたときに発明されました。 IKVMCコンパイラを高速化するために、彼はこの新しいAPIを設計するために一から作業しました。

歴史は、以下のブログ記事から

2008 Aug Switch from Microsoft .NET reflection to Cecil

2008 Nov Switch from Cecil to IKVM.Reflection.Emit

2010 Jan Announce IKVM.Reflection

ので、一般的にIKVM.Reflectionとセシルは、同様の機能を持って話す、とIKVM.Reflectionを見つけることができますAPIは多くの点でより高速でなければなりません。

Cecilは、多くのユーティリティ(Obfuscar、私が維持している難読化ツールなど)で広く使用されています。 IKVM.Reflectionは主にMono C#コンパイラとIKVM自体で使用されていますが、それを使用する他のプロジェクトがあるかどうかはわかりません。

関連する問題