2017-07-02 94 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