我已经使用C#构建了一个应用程序。我已经参考了ODAC版本4.121.2.0。 当我在服务器上部署应用程序时,该应用程序失败并显示以下错误:
未处理的异常:System.BadImageFormatException:无法加载文件或资产 mbly'Oracle.DataAccess,版本= 4.121.2.0,区域性=中性,PublicKeyToken = 89b4 83f429c47342'。该程序集是为其他处理器编译的。
服务器仅安装了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-net本地工作
但是这些链接没有为我的问题提供解决方案。
答案 0 :(得分:2)
我认为您遇到的错误与依赖项版本控制问题无关。当入口点(即BadImageFormatException
文件)和一个依赖项之间存在32Bit
/ 64Bit
不兼容时,通常会抛出exe
。
在编译项目时尝试使用目标平台(Any CPU
/ x86
/ x64
和Prefer 32-Bit
项目属性)。
希望有帮助!