2011-10-06 61 views
2

本地調試此異常時沒有顯示使用,並顯示出來,只有當我瀏覽到該服務器的遠程URL地址..ASP.NET異常錯誤提到舊版本MySQL.Data的未在應用

我已經將MVC 3應用程序FTP到我的遠程服務器,並檢查Bin文件夾,顯示我擁有所有三個MySQL引用程序集。全部是版本6.4.4.0

在我的web.config文件中,所有與這些版本號相關的版本號都被設置爲版本6.4.4.0

爲什麼我會收到有關版本6.3.6.0的錯誤消息,以及如何解決這個問題?

無法加載文件或程序集'MySql.Data,Version = 6.3.6.0,culture = neutral,PublicKeyToken = c5687fc88969c44d'或其某個依賴項。定位的程序集清單定義與程序集引用不匹配。 (從HRESULT異常:0x80131040)

異常詳細信息:System.IO.FileLoadException:無法加載文件或程序集 'MySql.Data,版本= 6.3.6.0,文化=中性公鑰= c5687fc88969c44d' 或它的一個依賴。定位的程序集清單定義與程序集引用不匹配。 (異常來自HRESULT:0x80131040)

+0

你能手動確認您的服務器上的web.config文件實際上是一個更新的引用'6.4.4.0'?我知道這聽起來很愚蠢,但是我想在你試圖上傳文件時默默無視權限設置(這在我身上發生過幾次)。 –

+0

它是..這是一個完整的新鮮上傳的網站...該網站上沒有任何預先存在的文件.. – Skindeep2366

+0

經過仔細檢查...在web.config中沒有任何地方提到它mysql版本號.. – Skindeep2366

回答

1

好吧,我很擔心,我沿着從哪裏離開的時候我的系統上的6.3.6.0的路上某處位我有它安裝..經過幾天試圖找出這一個問題,我實際上已經想出瞭解決這個問題......我只需要在web.config中使用程序集綁定覆蓋版本信息。一旦我做到了這免費的遠程服務器錯誤加載...這是我加入到我的web.config:

<dependentAssembly> 
    <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" /> 
    <bindingRedirect oldVersion="0.0.0.0-6.3.6.0" newVersion="6.4.4.0" /> 
    </dependentAssembly> 
2

有很多事情要檢查這個,但我已經運行的最常見的一個是通過確保程序集在Visual Studio項目中正確引用和web.config中的信息是正確的。

在Visual Studio中,請檢查引用屬性的組件

  • 驗證列出的版本。
  • 檢查特定版本是否爲真/假。
  • 檢查複製本地是否爲真。
  • 如果版本錯誤,您可能需要刪除並重新添加引用。

我猜想這個異常不會拋出你的本地機器,因爲你的機器上可以使用舊版本的程序集。

您的本地信息在異常中顯示的原因與程序集引用問題無關。您的本地系統是構建程序集的地方,並且爲了進行調試而構建信息。 (如果在你調試此異常被拋出,VS會帶你到該行的文件。)

+0

根據您的文章,我已經設置了所有三個參考文件的copy local = true ... – Skindeep2366

+0

當我第一次開始編寫這個應用程序時,我使用的是6.3.6連接器集......我刪除了引用,並在幾天前安裝了更新的6.4.4.0連接器...是否有可能某處仍然指向6.3.6版本? – Skindeep2366

+0

是的,這似乎確定是發生了什麼。 –

0

能否請您解釋一下,我把「複製本地=真正的」我不知道將其視爲屬性窗口的一部分。我確實發現了資源的「總是複製」。這也是在網上進行的。配置

<dependentAssembly> 
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" /> 
<bindingRedirect oldVersion="0.0.0.0-6.3.6.0" newVersion="6.4.4.0" /> 
</dependentAssembly> 
+0

不要擔心複製本地部分...只需將所有3個mysql.dll文件複製到bin目錄即可。並且進入區域中的web.config的底部。此外,還可以在本文中部署文件列表[鏈接](http://www.tigraine。at/2011/01/18/required-files-to-bin-deploy-mvc3 /) – Skindeep2366

+0

是的,我做了所有這些轉貼所有我的信息的問題。我把依賴的東西放在運行時區的頂部。 – StephanM

0

我跑了包管理器控制檯,然後用它來解決這個問題:

PM> Install-Package MySQL.Data.Entities 
相關問題