在x64上编译OLEDB相关的可执行文件

时间:2012-01-13 19:03:06

标签: c# visual-studio linker oledb x86-64

我编译了在Windows XP 32位上使用Access数据库引擎库的可执行文件。 在Win7 x64操作系统上运行它会给我一个错误,即OLEDB组件未注册。

我尝试安装AccessDatabaseEngine x64并修复了问题。 但是在安装了Win7 x64和office 2007 32bit的另一台机器上,它不会让我安装AccessDatabaseEngine x64,所以我只能在Env为x64和目标CPU的情况下在该目标机器上编译项目(在VS2010 c#中) 86。这解决了这个问题。

我的问题是,为什么这有效?这背后的原因是什么?

感谢。

1 个答案:

答案 0 :(得分:0)

回答你的问题你所说的意味着有一个是不同的操作系统但不应该重要..这里的真正问题是有2个不同版本的Microsoft Installed ..你必须要么

  1. GAC版本或参考目标机器的版本
  2. 将工作版本中.DLL的Copy Local设置为Target版本..有点像你的DLL将驻留在bin文件夹所在的Debug / Bin或Debug / Release文件夹中..
  3. 我正在使用Windows 7 64位并将我的工作dll复制到Windows 2003服务器计算机上,我的项目仍然正常工作..

    我的其他工作是将目标机器上的Microsoft.Interop.Access .dll引用到我的解决方案,重新编译和Bam ......!