我有一個我用C#.NET開發完成的插件。因爲我有多個插件需要在啓動時加載AutoCAD,所以我使用了一個Lisp腳本,該腳本通過一次函數調用來加載所有插件。由於這是我的第一個計劃.NET插件,我使用Lisp程序來加載每個DLL文件。該功能是使用Lisp函數將.NET插件加載到AutoCAD 2014中
(defun C:LoadDLL()
(command "NETLOAD" "ShowHideLayers.dll")
)
,其中包含的功能和ShowHideLayers.dll
Lisp的文件都是在AutoCAD的漫遊數據.bundle
文件夾。
然而,當我啓動AutoCAD並呼籲LoadDLL
,我得到一個錯誤,不知道爲什麼:
NETLOAD Assembly file name: ShowHideLayers.dll Unable to load ShowHideLayers.dll assembly.
我不能確定錯誤的原因。我錯過了什麼?
首先,如果你自己發出NETLOAD而不經過lisp,它是否工作?如果確實如此,那麼我懷疑它要麼找到一個具有相同名稱的不同dll,要麼根本找不到它。在Acad中使用findfile以確保它能找到它。如果它沒有手動加載,那麼你可能需要找到Fusion日誌來查看.net沒有加載你的程序集。 – 2014-11-01 21:15:44
你爲什麼使用lisp來加載你的庫?只需在註冊表中的應用程序密鑰中註冊它們即可。您必須將netload命令傳遞給完整路徑。 – 2014-11-06 04:38:13