2014-04-23 123 views
3

我剛開始使用Azure,並且在訪問我設置的MySQL DB時遇到問題。看起來好像Azure引用MySQL.Data.dll版本6.5.4而不是我需要的版本MySQL.Data.dll v6.8.3。我收到以下錯誤:Windows Azure中的InvalidCastException連接到MySQL DB

MySql.Data.MySqlClient.MySqlConnection cannot be cast to MySql.Data.MySqlClient.MySqlConnection. Type A originates from 'MySql.Data, Version=6.5.4.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\Windows\Microsoft.Net\assembly\GAC_MSIL\MySql.Data\v4.0_6.5.4.0__c5687fc88969c44d\MySql.Data.dll'. Type B originates from 'MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'C:\DWASFiles\Sites\test\Temporary ASP.NET Files\root\fc8f3c27\4f9201b0\assembly\dl3\ca8ec5e2\74482a5e_285fcf01\MySql.Data.dll'.

我用我的應用程序與v6.5.4嘗試,但我需要v6.8.3爲它工作。許多搜索沒有透露解決方案。有沒有人有任何想法?使用Web Matrix檢查bin目錄中的版本是6.8.3。我怎樣才能引用這個正確的DLL?

回答

1

我有同樣的問題。 問題是,在服務器上安裝了較低版本的MySql庫。

您可以繞過這個修改你的web.config文件:

<system.data> 
    <DbProviderFactories> 
    <remove invariant="MySql.Data.MySqlClient" /> 
    <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=6.8.3.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" /> 
    </DbProviderFactories> 
</system.data> 
+0

感謝您的答覆。我剛剛將我的MySQL數據庫導出到SQL Server以避免此問題。如果我需要再次這樣做,我會記住你的答案,謝謝 – Gavin