1

アセンブリを動的に生成し、それらのアセンブリからメソッドを呼び出します。Visual Studio と Mono の両方を使用しています。ときどき、ILGenerator.Emit に何か問題があり、メソッドを呼び出そうとするとInvalidProgramExceptionが発生します。

誤った命令を取得する方法はありますか?

これまでのところ、ILSpy を使用してアセンブリを逆アセンブルし、IL を手動で実行する必要がありますが、生成されたメソッドが単純な場合は問題ありません。

残念ながら、生成されたメソッドに何百もの MSIL 命令が含まれている場合があり、エラーを特定するのが難しくなります。

私を助けるためにどこかに組み込まれているものがあるのだろうか。

残念ながら、安全でないコード (ポインターを使用) を生成するため、peverify はあまり役に立ちません。したがって、この種のエラーが発生します。

アンマネージ ポインターは検証可能な型ではありません

さらに、これらのエラーの一部は、Visual Studio 内ではなく、mono でのみ発生します。

ありがとう

4

0 に答える 0