程序集.加载处理器体系结构规则

本文关键字:规则 体系结构 处理器 加载 程序集 | 更新日期: 2023-09-27 18:33:40

加载程序集时,应使用该程序集。全名而不是程序集。名称,为了避免冲突,其格式如下:

"SampleAssembly,版本=1.0.2004.0,区域性=中性,公钥令牌=8744b20f8da049e3"

在 MSDN 文档中,此字符串还可以包括"ProcessorArchitecture=????",其中????可以是 MSIL、X86 等,但也是可选的。

如果未在程序集名称字符串中定义 ProcessorArchitecture 属性,则 Assembly.Load 使用什么规则来查询 GAC 以加载为多个处理器体系结构(x86、Amd64、MSIL)编译的程序集?

提前感谢您的帮助。

程序集.加载处理器体系结构规则

它是隐式的。 当 Assembly.Load() 语句运行时,加载程序填充程序已经决定了进程是在 32 位还是 64 位模式下运行。 因此,当它决定采用 64 位模式时,只有面向 msil 或 amd64 的程序集才能工作。

GAC 分为 3 个部分,子目录名称分别为 GAC_MSIL、GAC_32 和 GAC_64。 融合加载器将首先查看GAC_MSIL,以查看是否可以找到匹配的程序集。 然后在另外两个中的一个中查找匹配项。 没有歧义。