我正在使用外部DLL來使用我寫的包裝器來使用OCR設備。我已經對包裝進行了測試,並且完美地工作。但是,當我使用WinForms項目來使用包裝程序的客戶機類(位於另一個項目中)時,調用從DLL導入的C#方法(使用[DLLImport(...)]
)說該DLL未註冊時出現錯誤。我需要在WinForms應用程序中使用外部DLL的哪個配置?
錯誤說:
「DLL庫函數沒有發現檢查註冊表中的安裝路徑。」
所有執行都在調試模式下完成。 我比較了兩個項目的配置。最相關的區別是Test項目面向任何CPU,而WinForms應用程序只指向x86。
什麼可能呢?
更新
- 我試圖註冊使用
Regsvr32.exe
的DLL,但沒有奏效。我想過使用Gacutil.exe
但是卸載以後的.NET Framework 1.1的所有框架也需要... - 我不知道......在測試環境可能一切正常,因爲測試框架有它的DLL文件或可執行文件(或類似的東西)完全註冊在Windows中,所以這些是可信的DLL。調試生成的DLL可能不被Windows信任,因此會出現此問題?
- 我在同一個令人不安的項目創建一個表單,然後我打電話OCRWrapper從我加入一個按鈕。 OCR的工作!不幸的是,很難重寫第一種形式,因爲我們投入了大量的時間;所以,我一直在想什麼,我需要在令人不安的形式來改變...
- 我再次開始從頭形式的發展和加入所有與之相關的部件;一切運行良好,OCR成功讀取所有數據。當我通過調用
ObjectContext
加載組合框並再次出現錯誤...我使用的是連接到Oracle的實體框架。
您是否在64位系統上運行? – stuartd
@StuartDunkeld英特爾核心2二重奏...我想這是一個64位系統,但是,雖然我GOOGLE了它,但我並沒有確定... – JPCF
@HansPassant異常不是來自Visual Studio。 ..當我從de OCR中調用一個方法時(使用'[DLLImport]'標記的方法),返回的錯誤信息是'「找不到DLL Library函數。 – JPCF