![](/img/trans.png)
[英]System.DllNotFoundException: Unable to load DLL 'oci' when deployed to a Docker Linux container
[英]System.DllNotFoundException: Unable to load DLL 'oci' when published to IIS
我有一个.net核心应用程序,必须使用System.Data.OracleClient.dll与oracle db连接。
当我在VS2017中运行此命令时,一切正常,但是当我发布并尝试运行连接到数据库的部分时,出现错误:
System.DllNotFoundException:无法加载DLL'oci':找不到指定的模块。 (来自HRESULT的异常:0x8007007E)位于System.Data.OracleClient.Oci.OciCalls.OciNativeCalls.OCIEnvCreate(IntPtr&envhpp,OciEnvironmentMode模式,IntPtr ctxp,IntPtr malocfp,IntPtr ralocfp,IntPtr mfreep,IntPtr mfreep
我是否缺少某种IIS模块? 我在同一台PC中有x64位Oracle。
可能是您缺少了OciCalls类调用的本机代码(可能是某些本机dll或类似的dll),或者找不到它在所查找的位置,无论如何,您都可以使用Assembly Binding Log Viewer对其进行调试以查看其位置探测以及缺少的东西。
对我来说,最终帮助了以下步骤:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.