備註
本文專屬於 .NET Framework。 它不適用於較新的 .NET 實作,包括 .NET 6 和更新版本。
有兩種方式可以指定元件的位置:
<使用 codeBase> 元素。
<使用探測>元素。
您也可以使用 .NET Framework 設定工具 (Mscorcfg.msc) 來指定元件位置,或指定 Common Language Runtime 探測元件的位置。
使用 <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> 指定版本範圍。
備註
如果您要為未強名稱的元件提供程式碼基底提示,提示必須指向應用程式基底或應用程式基底目錄的子目錄。
使用 <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 指定的目錄必須是應用程式基底目錄的子目錄。
另請參閱
- .NET 中的 組件
- 使用組件進行程式設計
- 運行階段如何尋找組件
- 使用組態檔設定應用程式