.NET指定运行时查找程序集的位置

有两种方法用来指定程序集的位置:

  • 使用 <codeBase> 元素。

  • 使用 <probing> 元素。

还可以使用 .NET Framework 配置工具 (Mscorcfg.msc) 来指定程序集位置或者为公共语言运行库指定要探测程序集的位置。

使用 <codeBase> 元素

只有在计算机配置文件或也重定向程序集版本的发行者策略文件中,才可以使用 <codeBase> 元素。在运行库确定要使用哪一程序集版本时,它应用确定版本的文件中的基本代码设置。如果未指出基本代码,那么运行库就以通常的方法探测程序集。有关详细信息,请参见运行库如何定位程序集

下面的示例说明如何指定程序集的位置。

<configuration>   <runtime>      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">       <dependentAssembly>         <assemblyIdentity name="myAssembly"                           publicKeyToken="32ab4ba45e0a69a1"                           culture="en-us" />         <codeBase version="2.0.0.0"                   href="http://www.litwareinc.com/myAssembly.dll"/>       </dependentAssembly>      </assemblyBinding>   </runtime></configuration>

对于所有具有强名称的程序集,要求 version 属性,但对于不具有强名称的程序集应省略。<codeBase> 元素要求 href 属性。在 <codeBase> 元素中不能指定版本范围。

Note注意

如果为不具有强名称的程序集提供基本代码提示,那么该提示必须指向应用程序基或该应用程序基目录的子目录。

使用 <probing> 元素

运行库通过探测的方法来查找没有基本代码的程序集。有关探测的更多信息,请参见运行库如何定位程序集

可以在应用程序配置文件中使用 <probing> 元素,来指定在查找程序集时运行库应搜索的子目录。下面的示例说明如何指定运行库应搜索的目录。

<configuration>   <runtime>      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">         <probing privatePath="bin;bin2\subbin;bin3"/>      </assemblyBinding>   </runtime></configuration>

privatePath 属性包含运行库应在其中搜索程序集的目录。如果应用程序位于 C:\Program Files\MyApp,那么运行库将在 C:\Program Files\MyApp\Bin、C:\Program Files\MyApp\Bin2\Subbin 和 C:\Program Files\MyApp\Bin3 中查找未指定基本代码的程序集。privatePath 中指定的目录必须是应用程序基目录的子目录。

转载于:https://my.oschina.net/kavensu/blog/364185

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值