Библиотеки классов .Net Framework в GAC каждый раз компилируются в собственный код? Или он будет загружаться непосредственно из собственного каталога изображений?

Я читал книгу CLR через С#, и с помощью NGen.exe я узнал, что могу скомпилировать свои сборки в Native Image. Это повышает производительность. Однако собственный код адаптирован к моей архитектуре.

Когда я открыл собственный каталог образов
C:\Windows\assembly\NativeImages_v4.0.30319_64\System\d6591361d8701ff6eb6a9df223c24684

Я нашел Native Images для всех встроенных библиотек классов .net framework.

Итак, мой вопрос: будут ли эти собственные изображения в памяти использоваться напрямую, когда наше приложение ссылается на них?

А также создает ли установщик .net framework собственные образы этих библиотек классов, которые в полной мере используют архитектуру ЦП.

Заранее спасибо !!!


person Dilip Nandakumar    schedule 24.04.2015    source источник


Ответы (1)


Да, библиотеки фреймворка не скомпилированы. Они будут загружены из собственного кеша изображений.

Вы можете убедиться в этом сами, просмотрев путь загруженных сборок. Такие инструменты, как обозреватель процессов, можно использовать для просмотра загруженных сборок процесса. .

Например: на моей машине mscorlib загружается из

C:\Windows\assembly\NativeImages_v4.0.30319_32\mscorlib\blahblahblah\mscorlib.ni.dll

А также создает ли установщик .net framework собственные образы этих библиотек классов, которые в полной мере используют архитектуру ЦП.

Не уверен, что вы имеете в виду здесь. Установщик здесь ничего не делает. Именно ngen.exe создает собственные образы. Так что да, он будет создавать машинный код, лучше всего подходящий для архитектуры процессора машины.

person Sriram Sakthivel    schedule 24.04.2015