将软件项目迁移到新计算机后,我遇到了一些问题。我正在尝试让VS2017,MySql.data和我的MySQL数据库一起工作。我收到一条长长的错误消息(如下),这表明mySql.Data版本(8.0.16.0)清单与程序集引用不匹配(我不太了解此概念)。该错误是怪异的断断续续的-有时事情似乎(部分地)在起作用,而其他时候却没有。错误:
“属性“连接”的代码生成失败。错误是: 对象“ TableAdapterManager”上的“属性访问器”“连接”被抛出 以下异常:'无法加载文件或程序集'MySql.Dat, 版本= 8.0.16.0,文化=中性,PublicKeyToken = c5687fc88969c44d'或 它的依赖项之一。找到的程序集的清单定义 与程序集引用不匹配。 (来自HRESULT的异常: 0x80131040)“
我正在使用VS的数据源功能通过设计视图添加数据表+数据表适配器。
首先,我必须遵循一些指导才能使VS2017与MySQL一起使用。我不能只安装最新版本的“ MySQL Connector”和“ MySQL for Visual Studio”,因为它不起作用,产生“已经可用的连接”错误。我遵循了here,它涉及到安装MySQL Connector 6.9.8 + MySQL for VS 1.2.7,在这方面可以正常工作。
我还通过NuGet软件包管理器V8.0.16.0下载了MySql.data
我已阅读并尝试过的一些内容:
在app.config中确保正确版本的mySql:在我的app.config文件中没有对此的引用。
通过设置重新执行连接字符串-无法解析
更改“ machine.config”-我更新了dependentAssembly
元素,如下所示:
<assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
<bindingRedirect oldVersion="6.7.4.0" newVersion="8.0.16.0" />
将内部版本更改为x86
试图通过NuGet Console Install-Package MySql.Data -Version 6.9.8
安装MySql.data 6.9.8 ...程序包未列出-下载时出错。
我非常沮丧,要获得像MySQL这样的成熟技术与Visual Studio结合使用是如此困难。这在我的开发人员中造成了非常令人沮丧的积压,因此非常感谢任何建议。
答案 0 :(得分:1)
我认为使用Newtonsoft.JSON遇到此错误是一种通过的仪式。我们都已经看到或将要看到该错误。但是今天,我收到了有关Mysql.Data的错误消息,因此像您一样,我不得不寻找修复程序。
和您一样,我执行了删除bin / obj文件夹,签出绑定重定向行,卸载并重新安装MySql.Data NuGet程序包等的仪式。
我认为在这种情况下为我解决的是从解决方案目录中删除Mysql.Data.dll的所有实例(由于许多项目都使用类库,因此我将其放在各种bin文件夹中使用MySql.Data)。