Visual Studio 2005不会自动引用x64库

时间:2012-03-20 22:55:29

标签: oracle visual-studio-2005 64-bit

我必须在VS 2005解决方案中设置一些项目才能构建到x64。项目正在使用的第三方软件需要它。

项目引用的Oracle DLL(System.Data.OracleClient.dll)驻留在Windows \ Microsoft.NET \ Framework \ v2.0.57027中 从64位项目连接到oracle时会导致问题。

Microsoft是否有理由不使用Framework64 \ v2.0.50727目录来引用System.Data.OracleClient.dll?该项目被迫构建到x64,因此逻辑上人们会认为它将使用Framework64引用。

我得到的错误是:

  

System.InvalidOperationException:尝试加载Oracle客户端   库扔了BadImageFormatException。当发生此问题时   使用32位Oracle客户端组件以64位模式运行   安装。 ----> System.BadImageFormatException:尝试过   用于加载格式不正确的程序。 (例外   HRESULT:0x8007000B)

每当我去添加引用时,它只引用非64位DLL。我是否需要硬引用64位System.Data.OracleClient.dll?

感谢。

1 个答案:

答案 0 :(得分:1)

这与引用程序集没有任何关系。编译器始终使用32位程序集引用。哪个好,它只使用程序集中的元数据,对于32位和64位代码是相同的。

这里出现的问题是它在运行时中找到的程序集类型。 32位的声音。 Oracle的常见问题是,他们不喜欢出于某种原因使用GAC。它们的程序集包含非托管代码,因此无法以任何方式运行。您需要部署64位版本的Oracle提供程序或强制程序以32位模式运行。如果您无法对其进行排序,请与Oracle联系以获取支持。