我最近开始在使用 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 有独立的版本 32bit和 64bit系统。如果您在 32 位机器上开发,然后在 64 位操作系统上部署,您将收到此消息。
您可以通过构建面向 x86 的应用程序并部署 32 位版本的数据访问组件来轻松解决此问题。
关于C# ODP.NET 加载文件或程序集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10658078/