c# - MySQL 连接器转换问题

标签 c# mysql asp.net-mvc azure

我使用 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.Data DLL - Version=6.5.4.0 和 Version=6.9.9.0(这是异常(exception)情况)

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

关于c# - MySQL 连接器转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46804486/

相关文章:

asp.net-mvc - 在 ASP.NET MVC 中返回 FileResult 的错误消息/页面

asp.net-mvc - asp.net mvc 我可以针对多种操作方法有一个 View 吗?还是我需要为每个单独的 View ?

C# iTextSharp PDFReader 始终从 PDF 开头读取

sql - MySQL:获取父子结构的根节点

javascript - Textarea 不会使用所见即所得编辑器提交到 MySQL?

c# - ASP MVC 下拉列表错误 "Converting to Type"

c# - 如何在 XmlDocument 中插入 DOCTYPE 元素

c# - protobuf-net 子消息未正确读取

c# - 如何通过C#判断SQL Server数据库用户的有效权限?

mysql - 在 mySQL 中对负 float 使用 AVG() 的意外结果