我刚刚开始使用Azure,我在访问我设置的MySQL数据库时遇到问题.看起来Azure似乎引用了MySQL.Data.dll版本6.5.4而不是我需要的版本MySQL.Data.dll v6.8.3.我收到以下错误:
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?
解决方法:
我有同样的问题.
问题是在服务器上安装了较低版本的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>