未能加载程序集oracle.dataaccess 控制台,未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序...

未能加载程序集oracle.dataaccess 控制台,未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项.试图加载格式不正确的程序...
使用32位的也是一种办法,还有一种托管到IIS,通过IIS的w3wp进程,vs添加到进程也可以,因为IIS是64位,vs默认版本是32位

.NET:Microsoft Visual Studio 2010 + .NET Framework 3.5

操作系统:windows2008 R2 64 位操作系统

oracle数据库:32位的ODP.NET 2.0版本

FluorineFx的应用程序,发布到iis上时,报:”未能加载文件或程序集“Oracle.DataAccess”或它的某一个依赖项。试图加载格式不正确的程序。“。

项目中的oracle提供的.net访问oralcle数据库的这个 Oracle.DataAccess.dll的复制本地没有设置为true(在项目引用里找到该引用,右键属性里有这个”复制本地").所有发布的时候,它不会自动复制到bin目录里。从而出现了上述未能加载的错误。如下图所示:

bcfbd4ad705e979ff30b4bc4fea48f4a.png

要么修改该项目中该引用属性,要么就直接把那个dll复制到发布在服务器上的bin目录里。我的iis服务器是64位的,而我的 odp.net是装的32.所以对应的 Oracle.DataAccess.dll也应该是32位的,这里涉及iis的配置了。Oracle.DataAccess.dll是32位的,系统是64位的。

这个在iis里有一个设置如下如:先看看项目使用的应用程序池是哪一个:

13f74504998163d7e695dab6d69b491d.png

39b43cf7a49550dad0128a77d807b356.png

然后去应用程序池去配置,先找到Test应用程序池

4c0bc77f1970cc646ecb0804004a8f71.png

右键高级设置

3515fa1a5b12e71e55c67aedd069ce03.png

设置启用32位应用程序 为true

7fe8852c9c14f996c80a2dfc9f15f0ea.png

OK, 一切正常。

需要注意的是我这里的Test应用程序池在基本设置里面托管管道模式 选择的是经典

fe3336d098b3834584085d27cef05c91.png

44a4ddeeeac762148dc6629b9f8d1d84.png

https://blog.csdn.net/weixin_42319396/article/details/116535942

相关文章

文章浏览阅读773次,点赞6次,收藏9次。【代码】c# json字符...
文章浏览阅读8.7k次,点赞2次,收藏17次。此现象一般定位到远...
文章浏览阅读2.8k次。mysql脚本转化为oracle脚本_mysql建表语...
文章浏览阅读2.2k次。cx_Oracle报错:cx_Oracle DatabaseErr...
文章浏览阅读1.1k次,点赞38次,收藏35次。本文深入探讨了Or...
文章浏览阅读1.5k次。默认自动收集统计信息的时间为晚上10点...