Could not load file or assembly Oracle.DataAccess

微笑、不失礼 提交于 2019-12-03 06:36:20

问题


I have an asp.net mvc (EF) project , I had downloaded oracle data provider with version 4.112.2.50 -32bit on my pc when moving project to windows server 2008 (I have the same version of odp-64bit) I have the below problem:

Could not load file or assembly 'Oracle.DataAccess' or one of its dependencies. An attempt was made to load a program with an incorrect format.

when I toke Oracle the "Oracle.DataAccess.dll" from the server and make it with my project reference I have another error message like the above with a file "Oracle.Web"

Could not load file or assembly 'Oracle.Web' or one of its dependencies. An attempt was made to load a program with an incorrect format.

also if I get the File "Oracle.Web.dll" to my project reference from the server I have the same error with "Oracle.Web"


回答1:


In the IIS Manager select your server and select "Application Pools". Select the application pool used by your Web App and click on "Advanced Settings" from the right hand menu.

In the "General Section" of the advanced Settings click on the "Enable 32-bit Applications" and set it to True.

This fix only applies to 64-bit servers that attempt to execute the 32-bit version of the Oracle Dlls.

Regards George




回答2:


George Wrote:

In the IIS Manager select your server and select "Application Pools". Select the application pool used by your Web App and click on "Advanced Settings" from the right hand menu.

In the "General Section" of the advanced Settings click on the "Enable 32-bit Applications" and set it to True.

This fix only applies to 64-bit servers that attempt to execute the 32-bit version of the Oracle Dlls.

The opposite is also true. If you are using the 64 bit version of the Oracle Dlls then you must set "Enable 32-bit Applications" to false.

--Jacob




回答3:


  1. Oracle.DataAccess.dll must be installed not only referenced.
  2. Change the copy local property of the reference to true.



回答4:


Incorrect Format indicates a bitness problem. To get the server running change the application pool your program is running in to enable 32 bit support or install a 64 bit oracle client.




回答5:


Changing app pool from 64-bit to 32-bit is a solution.




回答6:


Deleting bin and obj folders solved my problem.



来源:https://stackoverflow.com/questions/8661749/could-not-load-file-or-assembly-oracle-dataaccess

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!