首先要說明一下,本人是一名編程愛好者,使用visio studio2017為單位開發軟體的,我電腦的作業系統是64位的,用的office軟體套裝是office 2016。
本人去年開發了一套是開發為asp.net的動態網路,用access2016(Office365 MSO 16.0.11629.20238)(32位)作為動態網站的資料庫,畢竟是單位內網使用,對資料庫的要求不高。當時開發時就已經報錯,并提示了問題上的錯誤,但本人通過百度找到了解決方案,就是給電腦上安裝了AccessDatabaseEngine,并配置好IIS后就可以正常訪問了。
今天本人又開發了winform的軟體,也是使用access2016(Office365 MSO 16.0.11629.20238)(32位)作為winform的資料庫,這次又報錯了提示“未在本地計算機上注冊‘Microsoft.ACE.OLEDB.12.0’提供程式”,于是本人再次在互聯網上搜索,均是給出了asp.net的解決方法(下載并安裝AccessDatabaseEngine,但是安裝時提示已經安裝過了只能進行修復,于是我就沒有選擇修復),沒有winform的解決方案。于是本人想通過安裝AccessDatabaseEngine_64.exe軟體想解決這個問題,結果系統卻報錯說我已經安裝了office的32位的產品,不能安裝AccessDatabaseEngine_64.exe軟體。
現在我該怎么辦,我很絕望啊!!!請知道真相的大神幫忙解決這個問題,謝謝了!
uj5u.com熱心網友回復:
經過多天的探索,我終于發現了解答的辦法,那就是在除錯的時候,把anyCPU修改為x86然后就能正常運行了。(選擇配置管理器,然后平臺那有個新建的按鈕,選擇新建x86模式即可)但是又有一個奇怪的現象,那就是用x86模式進行編譯運行時某些第三方的dll就不能用了,真奇怪。因為我之前在vs2008(32位系統)上可以正常運行,并且是在vs2017的x64模式下也沒有報錯,但就是在x86模式下卻不行!然后我使用專案-管理NuGet重新下載這些dll后才正常了。
(PS:這個問題很困難嗎?這么多天了,還是靠我自己一個愛好者自己解決了這個問題,我也是無語了)
uj5u.com熱心網友回復:
因為你不是系統編程背景出身,和我一樣,也是這種問題困擾,沒辦法, 編程要是這么容易解決,豈不是大家都可以編程了
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/138632.html
標籤:C#
