微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 连接到MySQL DB的Windows Azure中的InvalidCastException

我刚刚开始使用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,
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,PublicKeyToken=c5687fc88969c44d" />
  </DbProviderFactories>
</system.data>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐