【发布时间】: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