CLR查找和加载程序集的方式(二) 流程图

  在前一篇文章《CLR查找和加载程序集的方式(一)》中详细介绍了CLR查找和加载程序的方式,分别介绍了配置与代码的实现方式。

本篇通过一个具体的流程图来帮助大家更加直观明了深入的掌握CLR查找DLL程序集的方式。

说明:

(1) 初始化绑定:从元数据中取出相关的AssemblyRef记录,并查看其中包括什么内容--它的外部程序集名称,它是否经过强命名,是否指定了文化等。

(2) 应用版本策略:这是一些由应用程序、被引用的共享程序集发布者或管理员生成的语句。这些语句包含在XML配置文件中,并且只是将程序集的特定版本(或一组版本)重定向到不同的版本。

(3) codebase该节点是一个特殊的设置,在配置文件中明确地指定某个程序集的查找路径,这个规则具有最高的优先级。

                            而且如果你做了设置,CLR就一定会按照你的设置去查找,如果找不到,它就报告失败,而不会继续查找其他路径。

                            需要注意的是,如果程序集是经过了强名称签名,则在定义codebase的时候,应该注明publicKeyToken

关于probing与codeBase节点设置

 1 <?xml version="1.0" encoding="utf-8" ?>
 2 <configuration>
 3   <runtime>
 4     <!--双核以上计算机请开启下面的选项为 true-->
 5     <gcServer enabled="false" />
 6     <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
 7       <dependentAssembly>
 8         <probing privatePath="bin;bin2\subbin;bin3"/>
 9         <assemblyIdentity name="MyTestNetLibrary"
10                           publicKeyToken="bf715e7d53keacd4"
11                           culture="neutral" />
12         <codeBase version="1.0.1.0" href="CodeBase\MyTestNetLibrary.dll" />
13       </dependentAssembly>
14     </assemblyBinding>
15   </runtime>
16 </configuration>

 

关于《程序集加载的最佳做法》,请参考MSDN: https://msdn.microsoft.com/zh-cn/library/dd153782

 

转载于:https://www.cnblogs.com/SavionZhang/p/6548361.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值