Conflicting versions of MySql.Data.dll in .Net project not allowing me to add/edit TableAdapters in my DataSets(.Net 项目中 MySql.Data.dll 的冲突版本不允许我在我的数据集中添加/编辑 TableAdapters)
问题描述
我在 Visual Studio 2015 Update 3 中有一个 WinForms/.Net 4.0 应用程序.当我尝试在我的任何数据集中添加或编辑 TableAdapter 时,我收到此错误:
I have a WinForms / .Net 4.0 application in Visual Studio 2015 Update 3. When I try to add, or edit, a TableAdapter in any of my DataSets, I get this error:
向导在配置时检测到以下问题表适配器:
The wizard detected the following problems when configuring the TableAdapter:
详情:
生成的 SELECT 语句.[A]MySQL.Data.MySqlClient.MySqlConnection不能转换为 [B]MySQL.Data.MySqlClient.MySqlConnection.A型源自 'MySQL.Data 版本 6.9.8.0,Culture=neutral,PublicToken=c5687fc88969c44d' in context 'Default' at位置 'C:Program Files (x86)Microsoft Visual Studio14.0Common7IDEPrivateAssembliesMySQL.Data.dll'.B 型源自 'MySQL.Data,版本 6.9.9.0,Culture=neutral,PublicKeyToken=c5687fc88969c44d' 在上下文默认"位置'C:WindowsMicrosoft.NetassemblyGAC_MSILMySQL.Datav4.0_6.9.9.0_c5687fc88969c44dMySQL.Data.dll'.
Generated SELECT statement. [A]MySQL.Data.MySqlClient.MySqlConnection cannot be cast to [B]MySQL.Data.MySqlClient.MySqlConnection. Type A originates from 'MySQL.Data Version 6.9.8.0, Culture=neutral,PublicToken=c5687fc88969c44d' in context 'Default' at location 'C:Program Files (x86)Microsoft Visual Studio 14.0Common7IDEPrivateAssembliesMySQL.Data.dll'. Type B originates from 'MySQL.Data, Version 6.9.9.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d' in context 'Default' at location 'C:WindowsMicrosoft.NetassemblyGAC_MSILMySQL.Datav4.0_6.9.9.0_c5687fc88969c44dMySQL.Data.dll'.
显然它抱怨 MySQL.Data.dll 6.9.8 和 6.9.9 的两个不同版本.我不明白的是为什么或在哪里引用版本 6.9.8.0?如果我查看我的项目的引用,它使用的是 MySQL.Data.dll 版本 6.9.9.0.这是位于以下位置的 NuGet 包:
Obviously it is complaining about two different versions of the MySQL.Data.dll 6.9.8 and 6.9.9. What I don't understand though is why or where is it referencing version 6.9.8.0? If I look at my project's references, it is using MySQL.Data.dll version 6.9.9.0. This is a NuGet package at location:
C:UsersFabs-LenovoY70SourceWorkspacesTrackerTrackerpackagesMySql.Data.6.9.9lib et45MySql.Data.dll
C:UsersFabs-LenovoY70SourceWorkspacesTrackerTrackerpackagesMySql.Data.6.9.9lib et45MySql.Data.dll
我已经尝试了 [A]MySql.Data.MySqlClient.MySqlConnection 无法转换为 [B]MySql.Data.MySqlClient.MySqlConnection 但没有工作.
I've tried the solution at [A]MySql.Data.MySqlClient.MySqlConnection cannot be cast to [B]MySql.Data.MySqlClient.MySqlConnection but didn't work.
我在整个解决方案中搜索了对 6.9.8 的任何引用,但一无所获.我已经用谷歌搜索了一整天的解决方案,但没有发现任何有效的方法.:( 有什么想法吗?谢谢...
I've searched my entire solution for any references to 6.9.8 and I've found nothing. I've been Googling for a solution for a whole day now and have found nothing that's worked. :( Any ideas anyone? Thank you...
推荐答案
我在 VS 2012 中遇到了同样的问题.我不知道如何解决它,但在花了相当多的时间后,我看到了正在发生.
I am having the same issues with VS 2012. I am not sure how to fix it but after spending quite a bit of time on it here is what I see is happening.
你/我的所有系统都是 mysql.data.dll 版本 6.9.9.0.我无法将其降级到 6.9.8.0 当我这样做时,我创建了 mysql.data.dll 的其他版本问题,这些问题似乎无法以我的知识水平解决.
Over all your/my system is at mysql.data.dll version 6.9.9.0. I am not able to downgrade this to 6.9.8.0 When I do I create other version problems with mysql.data.dll that seem to be unresolveable with my knowledge level.
我追查了所有 6.9.8.0 版本的 DLL 并删除了它们,确保有 6.9.9 版本代替它.完成此操作后,我无法将数据连接添加到 MySQL 数据库.当我尝试时,我收到错误发生错误,这通常是由于没有正确安装 Visual Studio 造成的.此外,之前定义的数据连接都不起作用.
I chased down all 6.9.8.0 versions of the DLL and removed them, ensuring that there was a 6.9.9 version in its place. Once I have done this I am not able to add a data connection to a MySQL Database. When I try I get the error An error occurred that is normally caused by not having Visual Studio properly installed. In addition non of the previously defined data connections work.
未安装 MYSQL-connector-net-6.9.9 会出现无法为名为 MySql.Data.MySqlClient 的数据提供程序获取提供程序工厂"的错误,您甚至不会遇到上述错误OP.
Not having MYSQL-connector-net-6.9.9 installed gives an error of "Cannot obtain provider factory for data provider named MySql.Data.MySqlClient" and you don't even get to the error described above by the OP.
- 我尝试了各种连接器网络版本,但这并不能解决问题.
我在我的任何项目中都没有引用 6.9.8.0,但显然出于某种原因 VS 需要它来创建数据连接.
I have no references to 6.9.8.0 in any of my projects but clearly for some reason VS needs it to create the data connections.
更新:
我删除了 MySQL,然后检查并删除了所有 mysql*.dll 和所有配置文件.然后我使用了位于 http://dev.mysql.com/downloads/installer 的 MySQL Installer 5.7.14/
I removed MySQL, then went through and deleted all mysql*.dll and all config files. I then used the MySQL Installer 5.7.14 found at http://dev.mysql.com/downloads/installer/
安装程序仍然安装了 mysql.data.dll 版本 6.9.8.0 并且仍然导致错误.
The installer still installed the mysql.data.dll version 6.9.8.0 and it still causes the error.
更新:问题出在 MySQL 连接器/网络上.它使用 DLL 的 6.9.9.0 版本,其他一切都使用 6.9.8.0 转到您的社区安装程序并卸载连接器/网络.然后去https://downloads.mysql.com/archives/c-net/ 并获得 6.9.8 版的连接器/网络.安装这个,一切都应该没问题.它已在我的系统上运行.
Update: The problem is with MySQL Connector / Net. It is using version 6.9.9.0 of the DLL and everything else is using 6.9.8.0 Go to your community installer and uninstall connector / net. Then go to https://downloads.mysql.com/archives/c-net/ and get version 6.9.8 of the connector / net. Install this and everything should be fine. It has worked on my system.
这篇关于.Net 项目中 MySql.Data.dll 的冲突版本不允许我在我的数据集中添加/编辑 TableAdapters的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:.Net 项目中 MySql.Data.dll 的冲突版本不允许我在我的数据集中添加/编辑 TableAdapters
- 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
- 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
- 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
- C#MongoDB使用Builders查找派生对象 2022-09-04
- 如何用自己压缩一个 IEnumerable 2022-01-01
- C# 中多线程网络服务器的模式 2022-01-01
- 输入按键事件处理程序 2022-01-01
- WebMatrix WebSecurity PasswordSalt 2022-01-01
- MoreLinq maxBy vs LINQ max + where 2022-01-01
- Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01