C# ODP.NET 加载文件或程序集

标签 c# .net oracle odp.net

我最近开始在使用 ODP.NET (Oracle.DataAccess 4.112.3) 的 C# (4.0) 应用程序上进行测试

我将此项目设置为面向任何平台并发布应用。

当我在客户端机器上运行程序时,我收到:

Could not load file or assembly 'Oracle.DataAccess, Version=4.112.3.0,Culture=neutral,
PublicKeyToken=89b483f429c47342' or one of its dependencies. An attempt was made to load 
a program with an incorrect format.

就像我说的,我的目标是“任何 CPU”,而且我还在应用程序中嵌入了 Oracle.DataAccess 程序集。
我在安装了 Oracle 客户端的机器和没有安装 Oracle 客户端的机器上都遇到了这个错误。

感谢任何帮助。

最佳答案

Like I said I've targeted 'Any CPU'

这可能是问题所在。

Oracle.DataAccess 有独立的版本 32bit64bit系统。如果您在 32 位机器上开发,然后在 64 位操作系统上部署,您将收到此消息。

您可以通过构建面向 x86 的应用程序并部署 32 位版本的数据访问组件来轻松解决此问题。

关于C# ODP.NET 加载文件或程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10658078/

相关文章:

.net - 无法使用 Ubuntu 在 Raspberry Pi 上执行 Windows Form .exe

java - 如何从Oracle连接到Java程序

c# - 在 DateTime 对象中存储短日期

.net - .NET 中的 "protected"和 "protected internal"修饰符有什么区别?

c# - 用于无损 Exif 重写的 .NET C# 库?

sql - (oracle) 在 DECODE 中选择(返回多行)

java - JPA CriteriaQuery 比较时间戳忽略时间部分

c# - async 和 await 是单线程的真的吗?

c# - 将字节数组复制到 C# 中的另一个字节数组

c# - 如何将字符串中包含的 XML 解析为 IList<BusinessObject>?