Если я генерирую сборку, нормально ли, что ildasm все еще разбирает ее?
Хорошо.Я написал библиотеку классов 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 (и, очевидно, помещает его в C: \ windows \ Assembly \ NAtiveImages_V4. ##### _ 32 - в моем случае).Если это так, то как я по-прежнему могу видеть сборку NGen-ed как IL, использующую ILDasm?
Пожалуйста, помогите мне понять это «маленькое что-то», которого я здесь упускаю.