2017-07-02 53 views
1

我有一個WCF服務,它引用了LevelDB-sharp(https://github.com/meebey/leveldb-sharp),後者又引用(DllImport)leveldb.dll。WCF無法加載DLLImported的dll

一切都完美地運行自己的計算機上,但只要我部署到生活,我得到錯誤信息

服務器遇到錯誤處理請求。 '例外 消息'無法加載DLL'leveldb.dll':找不到指定的模塊 。 (異常來自HRESULT:0x8007007E)

我試圖把DLL在Web服務目錄,bin子目錄,SYSTEM32也SYSTEM32 \ inertsrv和繼續得到同樣的錯誤。

我也嘗試硬編碼路徑到DllImport調用。

我錯過了什麼?

回答

1

DllImport調用不遵循正常的.net探測路徑,它將通過windows PAth可變路徑進行查看。

由於您已經嘗試將dll添加到inetsrv和system32,我猜你的IIS Web應用程序池可能在32位模式下運行。是否在32位模式下運行應用程序池?

如果是這樣,請嘗試把leveldb.dll在SysWow64資料文件夾或 C:\ WINDOWS \ Syswow64資料\ inetsrv文件夾中

iis 32 bit