アセンブリをNGenした場合、ildasmがまだそれを逆アセンブルするのは正常ですか?
Ok。私は HelloWorld クラス ライブラリを作成しました。その後の dll は NGenILDasmTest.dll という名前です。--> .Net fw 4 を対象としています。
Vs 2010コマンドプロンプトから、私はやった
gacutil -i NGenILDasmTest.dll
アセンブリが GAC にインストールされているのが見えました。そして、ildasm を実行して、IL を表示できるようにしました。ここまでは順調ですね。
それから私は走ります
ngen NGenILDasmTest.dll
(ngen のオプションは指定しませんでした)。そして、このアセンブリは正常にコンパイルされました。フォルダーの下に NGenILDasmTest.ni.dll という名前で配置しました
C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9
さて、以下のようにildasmを実行すると
ildasm "C:\Windows\Assembly\NativeImages_v4.0.30319_32\NGenILDasmTest\81d49dd4c7df22fb3df530402b58ffc9\NGenILDasmTest.ni.dll"
Ngen-ed アセンブリの内容を見ることができました。これは正常ですか?
技術的に言えば、Ngen は IL のネイティブ CPU 命令を生成します (私の場合は C:\windows\Assembly\NAtiveImages_V4.#####_32 の下にあるようです)。その場合、ILDasm を使用して、NGen で処理されたアセンブリを IL として表示するにはどうすればよいですか?
私がここで見逃している「ちょっとしたこと」を理解するのを手伝ってください。