无法加载文件或程序集Oracle.DataAccess

时间:2011-12-28 21:56:35

标签: asp.net-mvc oracle entity-framework entity-framework-4 odp.net

我有一个asp.net mvc(EF)项目, 当我将项目移动到Windows Server 2008时,我已经在我的电脑上下载了版本为4.112.2.50 -32bit的oracle数据提供程序(我有相同版本的odp-64bit)我有以下问题:

  

无法加载文件或程序集“Oracle.DataAccess”或其中一个   依赖。尝试加载程序不正确   格式。

当我从服务器托管Oracle“Oracle.DataAccess.dll”并使用我的项目引用时 我有另一个错误消息,如上所述,文件“Oracle.Web”

  

无法加载文件或程序集“Oracle.Web”或其中一个   依赖。尝试加载程序不正确   格式。

如果我从服务器获取文件“Oracle.Web.dll”到我的项目引用,我对“Oracle.Web”也有同样的错误

6 个答案:

答案 0 :(得分:59)

IIS管理器中选择您的服务器,然后选择“ 应用程序池 ”。选择Web应用程序使用的应用程序池,然后单击右侧菜单中的“ 高级设置 ”。

在高级设置的“ 常规部分 ”中,点击“ 启用32位应用 “并将其设置为 True

此修复程序仅适用于尝试执行32位版本Oracle Dlls的64位服务器。

此致 乔治

答案 1 :(得分:6)

乔治写道:

  

在IIS管理器中,选择您的服务器并选择“#34;应用程序池"”。选择Web App使用的应用程序池,然后单击"高级设置"从右侧菜单。

     

在" General Section"高级设置单击"启用32位应用程序"并将其设置为True。

     

此修复程序仅适用于尝试执行32位版本Oracle Dlls的64位服务器。

反之亦然。如果您使用Oracle Dlls的64位版本,那么您必须设置" 启用32位应用程序" false

- 雅各布

答案 2 :(得分:3)

  1. 必须安装Oracle.DataAccess.dll,而不仅仅是引用。
  2. 将引用的copy local属性更改为true。

答案 3 :(得分:1)

格式错误表示存在比特问题。要使服务器运行,请更改程序运行的应用程序池以启用32位支持或安装64位oracle客户端。

答案 4 :(得分:0)

将应用程序池从64位更改为32位是一种解决方案。

答案 5 :(得分:0)

删除 bin obj 文件夹解决了我的问题。