問題:
用戶使用開發程式編寫了自己的小工具,但嘗試使用 Loadapp 指令加載卻沒反應,且在指令行出現如下提示:(以載入DraftSight自帶的範例文件為例)
"C:\Program Files\Dassault Systemes\DraftSight\APISDK\samples\VB.NET\simple\Ribbon\bin\x64\Release\Ribbon.dll is not a valid add-in.
Cannot load file C:\Program Files\Dassault Systemes\DraftSight\APISDK\samples\VB.NET\simple\Ribbon\bin\x64\Release\Ribbon.dll"
不是說DraftSight支援客製開發,為何無法載入開發後的程式呢?
回覆:如果確實依據開發說明文件,使用了正確的開發工具編寫、編譯程式,那就不會有問題
但是!在使用前有個注意事項:就是要先讓Windows知道有這個程式存在,也就是註冊∼
註冊流程:如何註冊自己的DLL程式?請依下列步驟處理:
下面我們以 DraftSight 自帶的範例檔(Ribbon.dll)進行說明:
該範例檔位於C:\Program Files\Dassault Systemes\DraftSight\APISDK\samples\VB.NET 目錄下,另有C#、C++、COM的範例檔,可自行於APISDK目錄查找
1) 「以系統管理員身分」進入 MS-DOS模式
2) 切換至 C:\Windows\Microsoft.NET\Framework64\v4.0.30319 目錄 (或當前系統安裝的 .NET 版本号目錄)
3) 依下列格式輸入執行語法與參數:
regasm /codebase /tlb ".DLL"
例如:regasm /codebase /tlb "C:\Program Files\Dassault Systemes\DraftSight\APISDK\samples\VB.NET\simple\Ribbon\bin\x64\Release\ribbon.dll"
4) 假如 DLL 文件註冊成功,您可以在指令視窗最後幾行看到下列文字
"組件已匯出到 ''C:\Program Files\Dassault Systemes\DraftSight\APISDK\samples\VB.NET\simple\Ribbon\bin\x64\Release\ribbon.tlb',而且類型程式庫已成功登錄"
這樣表示已經完成註冊動作了。 此步驟同時生成類型程式庫(.tlb)文件。
5) 接下來您就可以回到DraftSight中加載這個DLL程式。
備註:regasm 是微軟的組件登錄工具,該工具進階資料請參考微軟技術文件
https://docs.microsoft.com/zh-tw/dotnet/framework/tools/regasm-exe-assembly-registration-tool
資料參考來源
----------------
===========
協勤資訊有限公司
===========