“Microsoft.ACE.OLEDB.12.0”提供程序未在本地计算机上注册

Jur*_*jen 6 c# oledb oledbconnection vs-unit-testing-framework

我已经按照博客条目中的描述安装了“Microsoft Access Database Engine 2010 Redistributable”

http://danilcai.blogspot.com/2011/02/solution-run-jet-database-engine-on-64.html

它适用于我的 Windows 窗体应用程序。我现在想添加一些单元测试,并且在运行单元测试时出现上述错误。我已经检查了我的参考资料,但似乎无法弄清楚为什么它在应用程序中而不是在单元测试中有效。

我正在 VS2010 上进行 Windows 7 Ultimate x64 安装。

有人可以帮帮我吗 ?

Hau*_*man 2

目标平台可能设置为“任何 CPU”,这意味着当您从 VS 或在 64 位 Windows 中运行它时,它将作为 64 位代码执行(并使用 64 位 Jet 驱动程序)。但典型的单元测试运行程序在 32 位模式下执行,并且它加载的所有程序集都将以 32 位模式执行(因为您的项目目标平台是 Any,即 32 位或 64 位)。Windows 7 默认情况下不附带 32 位 Jet 驱动程序。