C#知识点------CLR程序集加载

多个应用程序访问的程序集放到公认的目录中,CLR在检测到对改程序集的引用时,必须知道检查该目录。公认位置就是全局程序集缓存(Global Assembly Cache,GAC)。GAC的具体位置时一种实现细节,不同版本会有所变化,一般在以下目录:%SystemRoot%\Microsoft.NET\Assembly

GAC目录是结构化的:其中包含许多子目录,子目录名称用算法生成。永远不要将程序集文件手动复制到GAC目录;相反,要用工具(常用工具是GACUtil.exe)完成这项任务

CLR尝试定位程序集文件时,总是先在应用程序基目录查找。如果没有找到,就查找Program.exe.config文件中配置的探测目录。如果都找不到目标程序集,CLR会从头再来,以.exe扩展名替换.dll扩展名。再找不到就抛出FileNotFoundException异常。probing元素的privatePath特性指定多个以分号分隔的路径,每个路径都相对于应用程序基目录。不能用绝对或相对路径指定在应用程序基目录外部的目录

C#知识点------CLR程序集加载_第1张图片

你可能感兴趣的:(C#)