2011-06-08 102 views
4

我已經安裝了「Microsoft Access數據庫引擎2010可再發行組件」在博客條目的「Microsoft.ACE.OLEDB.12.0」供應商未註冊的本地機器

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

和描述就可以了在我的Windows窗體應用程序中工作。我現在想添加一些單元測試,並在運行單元測試時出現上述錯誤。我檢查了我的引用,但似乎無法弄清楚爲什麼它在應用程序中運行,而不是在單元測試中。

我正在VS2010中的Windows 7終極x64安裝。

有人可以幫我嗎?

+2

您的單元測試項目是否可能被編譯爲與您的應用程序項目不同的位數(32或64)? – Heinzi 2011-06-08 20:27:21

+0

是的,沒有可用的64位版本的可再發行組件。 – 2011-06-11 14:23:56

+0

你知道了嗎? – Haukman 2011-06-17 20:07:47

回答

2

目標平臺可能設置爲任意CPU,這意味着當您從VS或64位Windows中運行它時,它將以64位代碼(並使用64位Jet驅動程序)執行。但是一個典型的單元測試運行器正在以32位模式執行,並且它所加載的所有程序集都將以32位模式執行(因爲您的項目目標平臺是Any,即32位或64位)。而Windows 7默認不帶有32位Jet驅動程序。

+0

VS2010的默認目標實際上是x86,但是的確,問題的原因是 – 2011-06-11 14:25:33

+0

你是對的,它使用了默認爲VS2008中的任何一個,但它仍然可以設置爲Any(可能從早期的VS導入) – Haukman 2011-06-11 17:38:01

相關問題