【问题标题】:MySQL Connector Casting issueMySQL 连接器转换问题
【发布时间】:2017-10-18 07:04:34
【问题描述】:

我使用 VS2015 和 MySQL 作为数据库开发了 MVC 项目。
我将项目上传到 azure 进行测试,并在 azure 中创建了我的 MySQL 数据库的副本。
但是,当我尝试打开网站时我收到了这个错误:

[A]MySql.Data.MySqlClient.MySqlConnection cannot be cast to [B]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.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in the context 'Default' at location 'D:\local\Temporary ASP.NET Files\root\0b5c8b85\f7b6d016\assembly\dl3\b34b00a3\00f26175_a4c8d101\MySql.Data.dll'.


此问题仅在 azure 中出现,但应用程序在本地运行。我明白,问题是因为安装在 azure 中的 MySQL 连接器/网络版本。
谁能帮我解决这个问题?
我在 .config 文件中找到了要添加的代码,但它仅绕过了对我没有用的错误。

解决方案
将此添加到 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.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
 </DbProviderFactories>
</system.data>

【问题讨论】:

  • 你能把你设置MySql的.config文件的部分贴出来吗?
  • 当然,我会编辑问题@Isma
  • 部分怎么样,您也可以发布吗?
  • 实际上我的文件中没有这个 部分@Isma
  • 但是我尝试按照这篇文章stackoverflow.com/questions/8605158/…@Isma 的第一个答案中所写的方式添加它

标签: c# mysql asp.net-mvc azure


【解决方案1】:

您正在使用不同版本的 MySql.Data DLL - Version=6.5.4.0 和 Version=6.9.9.0(它在异常中)

将您的配置文件更改为使用 6.5.4.0(它当前指定 6.9.9.0)。

【讨论】:

    【解决方案2】:

    尝试在这两个位置更新软件包。对我来说似乎是一个简单的版本差异

    【讨论】:

    • 这对我不起作用 - 破坏了 VS MySQL 集成。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2019-02-24
    • 2018-06-09
    • 2014-11-15
    • 2011-11-14
    • 2010-12-18
    • 2011-07-24
    • 2010-09-23
    相关资源
    最近更新 更多