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

标签 c# mysql .net azure

我刚刚开始使用 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>

关于c# - Windows Azure 连接到 MySQL DB 中的 InvalidCastException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23254507/

相关文章:

c# - 如何在一个查询中插入和更新

php - 删除和重新索引数组时遇到问题

php - 我在加载页面时突然遇到 PHP 和 MySQL 错误

c# - 进程终止后清理 AppBar

.net - WPF中基于位置的样式可能吗?

c# - 方法的并行访问

c# - 当不同程序集中的 Startup.cs 时,ASP.NET Core Web API 返回 404

c# - 数学表达式问题

c# - .Net Core 托管服务需要 HttpContext

c# - 哪个 DLL 包含 Microsoft.Powershell.Command 命名空间下的异常?