3

我有两台笔记本电脑。

1) BuildLaptop-> 我编写应用程序的笔记本电脑。Windows 7 Ultimate 32 位,Office 2007 数据库

2)TestLaptop-> 测试应用程序。Windows 7 终极版 64 位,Office 2007。

我的应用程序包含几个构建为 AnyCPU 的 dll 文件,并且该应用程序也构建为 AnyCPU。

当我尝试在 TestLaptop 上测试我的应用程序时,它给了我一个错误:

Microsoft.ACE.OleDb.12.0 提供程序未在您的计算机上注册。

所以我从 TestLapTop 中卸载了 Office,并在 BuildLapTop 上安装了 Office。

同样的错误。然后我尝试将所有 dll 以及我的应用程序编译到 x64。应用程序无法启动。然后我尝试只将应用程序编译到 x64 并将 dll 编译到 anyCPU。错误再次发生。

那么请帮助我如何让我的应用程序在 TestLapTop 上运行?

4

2 回答 2

5

您需要像/platform:x86使用任何 32 位非托管资源(DLL 等)一样编译任何项目。

在此处输入图像描述

于 2013-03-13T17:38:32.097 回答
2

根据您的评论,我不确定您是否会遇到此问题。如果您安装了任何 Microsoft Office 程序:

  • 单词
  • 外表
  • Excel
  • 微软幻灯片软件
  • ETC

如果它们是32 位修订版,则您无法安装64 位访问数据库引擎,它会给您以下异常:

例外

这将迫使您将32 位修订版安装到您的64 位机器上。您可能还需要通过管理工具对ODBC 数据源中的数据库进行一些额外的配置。

ODBC 数据源

希望这至少可以澄清您在评论中提到的错误。至于编译,Sixlettervariables 有一个解决方案。

希望这会有所帮助。

于 2013-03-13T17:49:26.813 回答