我正在尋找超過12小時,以找到一個適當的解決方案,這個特定的問題... 我有一個ASP MVC(.NET框架4.5)應用程序,利用Interbase XE數據庫。ADO.NET 2.0 Interbase驅動程序和ASP.NET錯誤的程序集引用?
只要我在我自己的機器上本地運行它,它就能正常工作。然而,當我嘗試將網站發佈到我的遠程服務器上,我得到一些組裝錯誤...
無法加載文件或程序集「Borland.Data.DbxCommonDriver, 版本= 16.0.0.0,文化=中立,PublicKeyToken = a91a7c5705831a4f'或 其依賴關係之一。找到的程序集清單定義 與程序集引用不匹配。 (異常來自HRESULT: 0x80131040)
除了在看張貼在互聯網(這並沒有爲我幫助不幸)在每一個可能的解決方案。我還在Reflector中打開了Borland.Data.DbxCommonDriver.dll。
讓我吃驚的還有,就是反射指出的版本我已經(包括本地和遠程!!)有公鑰= 91d62ebb5b0d1b1b,而不是a91a7c5705831a4f,所有其他設置是相等的(包括VERSIONNUMBER 16.0.0.0 )。
所以我做的下一件事是追蹤服務器上的所有可能的.dll文件。我卸載了ADO.NET 2.0驅動程序,並刪除了所有現有的dll。 只要服務器沒有任何DLL,我就重新啓動它並重新安裝ADO.NET 2.0以獲取Interbase驅動程序。
但是,我立即得到了相同的程序集錯誤。現在,我有點想法...
- 如何顯示錯誤,顯示不同的PublicKeyToken?
- 我是否需要將東西放在web.config文件中(以強制使用程序集等)?
- 如何確定引用錯誤的PublicKeyToken的位置?
NOTES:
的servermachine是一個64位機。這意味着我已經將ApplicationPool設置爲接受32位應用程序,以便支持來自Embarcadero的ADO.NET 2.0驅動程序。
我用MS Visual Studio 2012 Pro開發了我的web應用程序。
資源:
https://forums.embarcadero.com/message.jspa?messageID=528498 http://docs.embarcadero.com/products/interbase/IBXEUpdate5/Readme.html
我已經知道了這一建議,但它仍然沒有幫助我很多。我一直下去:) – RvdV79
同樣在這裏^^是我找到的東西,我一定會讓你知道 :) – Docschnitzel