Net framework 5, а также среды Visual Studio 2012 и C#


В другом файле той же сборки



Download 6,27 Mb.
Pdf ko'rish
bet80/658
Sana12.06.2023
Hajmi6,27 Mb.
#950840
1   ...   76   77   78   79   80   81   82   83   ...   658
Bog'liq
CLR via C Programmirovanie na platforme Microsoft NET Framework 4 5 na yazyke C

В другом файле той же сборки.
Исполняющая среда проверяет, что файл, на 
который ссылаются, описан в таблице 
FileRef
в манифесте текущей сборки. 
При этом исполняющая среда ищет его в каталоге, откуда был загружен файл, 
содержащий манифест сборки. Файл загружается, проверяется его хеш-код, 
чтобы гарантировать его целостность, затем CLR находит в нем нужный член 
типа, и исполнение продолжается.
‰
В файле другой сборки.
Когда тип, на который ссылаются, находится в файле 
другой сборки, исполняющая среда загружает файл с манифестом этой сборки. 
Если в файле с манифестом необходимого типа нет, загружается соответствующий 
файл, CLR находит в нем нужный член типа, и исполнение продолжается.
ПриМеЧание
Таблицы.метаданных.ModuleDef,.ModuleRef.и.FileDef.ссылаются.на.файлы.по.имени.
и.расширению .Однако.таблица.метаданных.AssemblyRef.ссылается.на.сборки.только.
по.имени,.без.расширения .Во.время.привязки.к.сборке.система.автоматически.до-
бавляет.к.имени.файла.расширение.DLL.или.EXE,.пытаясь.найти.файл.путем.проверки.
каталогов.по.алгоритму,.описанному.в.главе.2 
Если во время разрешения ссылки на тип возникают ошибки (не удается найти 
или загрузить файл, не совпадает значение хеш-кода и т. п.), выдается соответ-
ствующее исключение.
ПриМеЧание
При. желании. можно. зарегистрировать. в. вашем. коде. методы. обратного. вы-
зова.с.событиями.из.System AppDomain AssemblyResolve,.System AppDomain 
ReflectionOnlyAssemblyRessolve.и.System AppDomain .TypeResolve .В.методах.обрат-
ного.вызова.вы.можете.выполнить.программный.код,.который.решает.эту.проблему.
и.позволяет.приложению.выполняться.без.выбрасывания.исключения 


113
Как.исполняющая.среда.разрешает.ссылки.на.типы
В предыдущем примере среда CLR обнаруживала, что тип 
System.Console
реа-
лизован в файле другой сборки. CLR должна найти эту сборку и загрузить PE-файл, 
содержащий ее манифест. После этого манифест сканируется в поисках сведений 
о PE-файле, в котором реализован искомый тип. Если необходимый тип содержится 
в том же файле, что и манифест, все замечательно, а если в другом файле, то CLR 
загружает этот файл и просматривает его метаданные в поисках нужного типа. 
После этого CLR создает свою внутреннюю структуру данных для представления 
типа и JIT-компилятор завершает компиляцию метода 
Main
. В завершение процесса 
начинается исполнение метода 
Main
.
Рисунок 3.2 иллюстрирует процесс привязки к типам.
рис. 3.2.
.Блок-схема.алгоритма.поиска.метаданных,.используемых.CLR,.файла.сборки,.
где.определен.тип.или.метод,.на.который.ссылается.IL-код
Если какая-либо операция заканчивается неудачей, то выдается соответствую-
щее исключение.
Есть еще один нюанс: CLR идентифицирует все сборки по имени, версии, регио-
нальному стандарту и открытому ключу. Однако GAC различает сборки по имени, 
версии, региональному стандарту, открытому ключу и процессорной архитектуре. 
При поиске сборки в GAC среда CLR выясняет, в каком процессе выполняется при-


114
Download 6,27 Mb.

Do'stlaringiz bilan baham:
1   ...   76   77   78   79   80   81   82   83   ...   658




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish