.NET指定運行時查找程序集的位置

有兩種方法用來指定程序集的位置:工具

  • 使用 <codeBase> 元素。spa

  • 使用 <probing> 元素。code

還可使用 .NET Framework 配置工具 (Mscorcfg.msc) 來指定程序集位置或者爲公共語言運行庫指定要探測程序集的位置。xml

使用 <codeBase> 元素

只有在計算機配置文件或也重定向程序集版本的發行者策略文件中,纔可使用 <codeBase> 元素。在運行庫肯定要使用哪一程序集版本時,它應用肯定版本的文件中的基本代碼設置。若是未指出基本代碼,那麼運行庫就以一般的方法探測程序集。有關詳細信息,請參見運行庫如何定位程序集get

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

<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>io

對於全部具備強名稱的程序集,要求 version 屬性,但對於不具備強名稱的程序集應省略。<codeBase> 元素要求 href 屬性。在 <codeBase> 元素中不能指定版本範圍。asm

Note注意

若是爲不具備強名稱的程序集提供基本代碼提示,那麼該提示必須指向應用程序基或該應用程序基目錄的子目錄。table

使用 <probing> 元素

運行庫經過探測的方法來查找沒有基本代碼的程序集。有關探測的更多信息,請參見運行庫如何定位程序集class

能夠在應用程序配置文件中使用 <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 中指定的目錄必須是應用程序基目錄的子目錄。

相關文章
相關標籤/搜索