[英]The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine
I have installed the 'Microsoft Access Database Engine 2010 Redistributable' as described in the blog entry我已按照博客条目中的说明安装了“Microsoft Access Database Engine 2010 Redistributable”
http://danielcai.blogspot.com/2011/02/solution-run-jet-database-engine-on-64.html http://danielcai.blogspot.com/2011/02/solution-run-jet-database-engine-on-64.html
and it works in my windows-forms application.它适用于我的 Windows 窗体应用程序。 I now want to add some unit-tests and when running the unit-test I get the above error.
我现在想添加一些单元测试,并且在运行单元测试时出现上述错误。 I have checked my references but can't seem to figure out why it works in the application and not in the unit-test.
我检查了我的参考资料,但似乎无法弄清楚为什么它在应用程序中而不是在单元测试中有效。
I'm working in VS2010 on a windows 7 ultimate x64 installation.我在 VS2010 中使用 windows 7 终极 x64 安装。
Can someone please help me?有人可以帮帮我吗?
The Target Platform is probably set to Any CPU, which means when you run it from VS or in your 64-bit Windows it will execute as 64-bit code (and use the 64-bit Jet driver).目标平台可能设置为任何 CPU,这意味着当您从 VS 或在 64 位 Windows 中运行它时,它将作为 64 位代码执行(并使用 64 位 Jet 驱动程序)。 But a typical unit test runner is executing in 32-bit mode and all assemblies it loads will then execute in 32-bit mode (since your project target platform is Any, ie either 32 or 64 bit).
但是一个典型的单元测试运行器是在 32 位模式下执行的,它加载的所有程序集都将在 32 位模式下执行(因为您的项目目标平台是 Any,即 32 位或 64 位)。 And Windows 7 does not come with a 32-bit Jet driver by default.
并且 Windows 7 默认不附带 32 位 Jet 驱动程序。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.