Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在运行时加载Oracle即时客户端_C#_.net_Oracle_Dll_Loadlibrary - Fatal编程技术网

C# 在运行时加载Oracle即时客户端

C# 在运行时加载Oracle即时客户端,c#,.net,oracle,dll,loadlibrary,C#,.net,Oracle,Dll,Loadlibrary,我正在编写一个Windows窗体ClickOnce应用程序,它使用Oracle即时客户端连接到数据库,因为在用户的机器上安装完整的客户端不是一个选项。不幸的是,我们的用户混合了32位和64位机器。虽然应用程序本身是AnyCpu,但Oracle库不是 现在,我们正在分发客户端的两个副本,唯一的区别是Oracle DLL—32位用户使用32位DLL,64位用户使用64位DLL 作为一个实验,我尝试在不同的目录中释放一个包含两组DLL的客户端,该目录在运行时确定主机操作系统的位,然后使用LoadLib

我正在编写一个Windows窗体ClickOnce应用程序,它使用Oracle即时客户端连接到数据库,因为在用户的机器上安装完整的客户端不是一个选项。不幸的是,我们的用户混合了32位和64位机器。虽然应用程序本身是AnyCpu,但Oracle库不是

现在,我们正在分发客户端的两个副本,唯一的区别是Oracle DLL—32位用户使用32位DLL,64位用户使用64位DLL

作为一个实验,我尝试在不同的目录中释放一个包含两组DLL的客户端,该目录在运行时确定主机操作系统的位,然后使用LoadLibrary加载DLL。这是可行的,但只是有点

在64位系统上,会弹出一个错误框,说明“程序无法启动,因为您的计算机缺少oranls11.dll”。当我单击“确定”关闭该框时,程序将启动并正常运行。将oranls11.dll添加到要加载的dll列表会导致消息框的两个副本相继弹出

那么,有没有更好的方法来加载Oracle即时客户端?如果没有,至少有没有办法抑制该消息框