不同版本的 ODAC 导致 C# 应用程序出错(本地与服务器)

Different versions of ODAC causing error in C# application (local Vs Server)

我已经使用 C# 构建了一个应用程序。我参考了 ODAC 版本 4.121.2.0。 当我在服务器上部署我的应用程序时,应用程序失败并出现错误:

Unhandled Exception: System.BadImageFormatException: Could not load file or asse mbly 'Oracle.DataAccess, Version=4.121.2.0, Culture=neutral, PublicKeyToken=89b4 83f429c47342'. This assembly was compiled for a different processor.

服务器只安装了4.121.1.0。

我需要做什么才能使应用程序正常工作?我尝试过的事情:

 1. In the .csproj <SpecificVersion>False</SpecificVersion>

 <Private>False</Private>

 2. I tried copying over the ODAC version (4.121.2.0) in the bin solution directory(of the server), it wouldn't work.
 3. I tried removing all ODAC dlls in folder, so that it can find out older version and use that for functionality.

我不想在我的本地安装旧版本,然后 - 我过去尝试过这个,但我最终卸载了所有版本。

可能重复: Having two ODP.NET (ODAC) versions in the same server

How do I get an older version of OracleClient to work locally with .NET? oracleclient-to-work-locally-with-net

但是这些链接没有为我的问题提供解决方案。

我认为您遇到的错误与依赖版本控制问题无关。当入口点(即 exe 文件)和其中一个依赖项之间存在 32Bit/64Bit 不兼容时,通常会抛出 BadImageFormatException

编译项目时尝试使用目标平台(Any CPU/x86/x64Prefer 32-Bit 项目 属性 ).

希望对您有所帮助!