64 位 .NET Informix ADO.NET 提供程序的程序集加载错误

Posted

技术标签:

【中文标题】64 位 .NET Informix ADO.NET 提供程序的程序集加载错误【英文标题】:Assembly load error for 64 bit .NET Informix ADO.NET provider 【发布时间】:2012-05-09 22:31:09 【问题描述】:

我正在运行 64 位 Windows 7。我有一个 .NET 4.0 Web 项目和一个访问 Informix 数据库的类库项目。我安装了 IBM Informix Client SDK 版本 3.70.FC4(64 位版本,.NET 2.0 运行时)。

根据IBM Informix .Net Provider Guide

    我将目录 %INFORMIXDIR%/bin/netf20/ 添加到 PATH 变量中

    我在类库项目中添加了对 IBM.Data.Informix.dll(版本 3.0.0.2)的引用。

当我运行 web 项目时,我得到了这个错误:

Could not load file or assembly 'IBM.Data.Informix' or one of its dependencies.
An attempt was made to load a program with an incorrect format.

有什么建议吗?

【问题讨论】:

您能否验证您的 Web 应用程序是否在 64 位模式下运行?例如确保 Environment.Is64bitoperatingsystem 为真。 下一个问题,您是否在构建设置的目标框架中为类库使用“客户端配置文件”? 目标框架是“.Net Framework 4”,我认为这表示“完整配置文件”。 是的,这就是完整版。我有时会在客户端配置文件中遇到不正确的格式错误;所以,只是想确保这不是那么容易的事情。 它是否可以在其他应用程序类型中找到,例如控制台? 【参考方案1】:

我要解决的步骤:

    选择参考列表下的 IBM.Data.Informix DLL 并打开属性。设置 'Copy Local' = False清理解决方案并尝试构建。

【讨论】:

以上是关于64 位 .NET Informix ADO.NET 提供程序的程序集加载错误的主要内容,如果未能解决你的问题,请参考以下文章

未找到数据源名称?

使用 .NET 连接到 Informix

Informix:.NET 驱动程序:默认日期时间格式

如何将数据从 Informix 实时推送到 .NET 服务器?

如何从 ASP.NET 脚本连接到 Informix 数据库?

Informix for .NET 的连接字符串