我有两台笔记本电脑。
1)BuildLaptop->我编写应用程序的笔记本电脑。 Windows 7旗舰版32位,Office 2007 for database
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上运行?
答案 0 :(得分:5)
如果项目使用任何32位非托管资源(DLL等),则需要将任何项目编译为/platform:x86
。
答案 1 :(得分:2)
根据您的评论,我不确定您是否遇到此问题。如果您安装了任何Microsoft Office程序:
如果它们是 32位版本,那么您无法安装 64位访问数据库引擎它将为您提供以下例外:
这将强制您将 32位版本安装到 64位计算机上。您可能还需要通过管理工具对 ODBC数据源中的数据库进行一些其他配置。
希望至少澄清您在评论中提到的错误。至于编译,Sixlettervariables有一个解决方案。
希望这会有所帮助。