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

Asp.net mvc 无法加载文件或程序集Oracle.DataAccess,asp.net-mvc,oracle,entity-framework,entity-framework-4,odp.net,Asp.net Mvc,Oracle,Entity Framework,Entity Framework 4,Odp.net,我有一个asp.net mvc(EF)项目, 将项目移动到windows server 2008时,我在电脑上下载了版本为4.112.2.50-32位的oracle data provider(我有相同版本的odp-64位)。我有以下问题: 无法加载文件或程序集“Oracle.DataAccess”或其 依赖关系。试图加载带有错误代码的程序 格式 当我从服务器上调用Oracle“Oracle.DataAccess.dll”并将其与我的项目引用一起使用时 我有另一条类似于上面的错误消息,其中有一个

我有一个asp.net mvc(EF)项目, 将项目移动到windows server 2008时,我在电脑上下载了版本为4.112.2.50-32位的oracle data provider(我有相同版本的odp-64位)。我有以下问题:

无法加载文件或程序集“Oracle.DataAccess”或其 依赖关系。试图加载带有错误代码的程序 格式

当我从服务器上调用Oracle“Oracle.DataAccess.dll”并将其与我的项目引用一起使用时 我有另一条类似于上面的错误消息,其中有一个文件“Oracle.Web”

无法加载文件或程序集“Oracle.Web”或其 依赖关系。试图加载带有错误代码的程序 格式

另外,如果我从服务器获取项目引用的“Oracle.Web.dll”文件,我会遇到与“Oracle.Web”相同的错误

  • 必须安装Oracle.DataAccess.dll,而不是仅引用
  • 将引用的“复制本地”属性更改为true

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

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

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

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

    问候
    George

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

    George写道:

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

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

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

    反之亦然。如果使用64位版本的Oracle DLL,则必须将“启用32位应用程序”设置为false


    --Jacob

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

    安装了Oracle.DataAccess.dll,我还更改了所有引用的复制本地检查中提到的点。很可能是32/64位的问题。你就是我的互联网