[.NET | 發佈] 如何指定固定的目錄給程式調用的外部DLL?

时间:2021-07-01 07:59:22

1.OverView

一般程式只會查找與主程式同目錄的DLL檔案

解決方案主要可以參考這篇:http://support.microsoft.com/kb/837908

2.實作app.config方式

這種方式我們需要DLL的「publicKeyToken」和「version」屬性

此時可以運作一下製作好的程式,當找不到DLL的時候會報以下錯誤:

[.NET | 發佈] 如何指定固定的目錄給程式調用的外部DLL?

從這當中可以找到這兩個屬性

接著在app.config加入以下code就可以了!(<runtime/>裡面的Code)

<?xml version="1.0"?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.0"/>
</startup>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="DocumentFormat.OpenXml" culture="neutral" publicKeyToken="31bf3856ad364e35"/>
<codeBase version="2.0.5022.0" href="FILE://C:/LotLibrary/DocumentFormat.OpenXml.dll"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

PS.調用的DLL原檔如下

[.NET | 發佈] 如何指定固定的目錄給程式調用的外部DLL?