我有一个.net核心应用程序,我必须使用System.Data.OracleClient.dll来连接oracle db。
当我在VS2017中运行时,一切正常,但是当我发布并尝试运行连接到数据库的部分时,我收到错误:
System.DllNotFoundException:无法加载DLL' oci':找不到指定的模块。 (来自HRESULT的异常:0x8007007E) 在System.Data.OracleClient.Oci.OciCalls.OciNativeCalls.OCIEnvCreate(IntPtr& envhpp,OciEnvironmentMode mode,IntPtr ctxp,IntPtr malocfp,IntPtr ralocfp,IntPtr mfreep,Int32 xtramem_sz,IntPtr usrmempp)
我错过了某种IIS模块吗?我在同一台PC上有x64位oracle。
答案 0 :(得分:0)
可能是您缺少OciCalls类调用的本机代码, 也许是一些原生dll或类似的,或者它没有找到它 在它正在寻找的地方,无论如何你可以使用 Assembly Binding Log Viewer进行调试 看看它在哪里探测,以及缺少什么。
答案 1 :(得分:0)
对我来说,最后帮助了以下步骤: