Поставщик Microsoft.ACE.OLEDB.12.0 не зарегистрирован на локальном компьютере. - PullRequest
4 голосов
/ 09 июня 2011

Я установил «Microsoft Access Database Engine 2010 Redistributable», как описано в записи блога

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

, и он работает в моем приложении для Windows-форм.Теперь я хочу добавить несколько юнит-тестов и при запуске юнит-теста получаю вышеуказанную ошибку.Я проверил свои ссылки, но не могу понять, почему он работает в приложении, а не в модульном тесте.

Я работаю в VS2010 над установкой Windows 7 Ultimate x64.

Может кто-нибудь помочь мне?

1 Ответ

2 голосов
/ 11 июня 2011

Целевой платформе, вероятно, присвоено значение «Любой ЦП», что означает, что при запуске его из VS или в 64-битной Windows она будет выполняться как 64-битный код (и использовать 64-битный драйвер Jet). Но типичный исполнитель модульных тестов выполняется в 32-разрядном режиме, и все загружаемые им сборки затем будут выполняться в 32-разрядном режиме (поскольку целевой платформой вашего проекта является Any, то есть 32- или 64-разрядная). И Windows 7 не поставляется с 32-битным драйвером Jet по умолчанию.

...