建立 DllLocation Solution 內 Core 和 ERP 兩個 Project 來模擬,build 至 release 資料夾後,建立 Lib 資料夾並把 Core.dll 搬移過去,如下圖
整理過後執行 exe 檔案,會跳出下圖
參考該篇官方文章 - <probing> 項目 ,在 AppConfig 內加入設定 probing
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="Lib"/>
</assemblyBinding>
</runtime>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
</startup>
</configuration>
這樣執行檔就可以正常引用 dll 囉
- 官方範例說明 - 指定組件的位置
<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 中指定的目錄必須是應用程式基底目錄的子目錄。- 參考資料
- 透過程式碼基底或探查找出組件
沒有留言:
張貼留言