VS 2017 MySql.Data清单与程序集引用不匹配

时间:2019-05-25 20:33:25

标签: mysql visual-studio-2017 mysql-connector mysql.data

将软件项目迁移到新计算机后,我遇到了一些问题。我正在尝试让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

我已阅读并尝试过的一些内容:

  1. 在app.config中确保正确版本的mySql:在我的app.config文件中没有对此的引用。

  2. 通过设置重新执行连接字符串-无法解析

  3. 更改“ machine.config”-我更新了dependentAssembly元素,如下所示:

    <assemblyIdentity name="MySql.Data" publicKeyToken="c5687fc88969c44d" culture="neutral" />
    
    <bindingRedirect oldVersion="6.7.4.0" newVersion="8.0.16.0" />
    

  4. 将内部版本更改为x86

  5. 试图通过NuGet Console Install-Package MySql.Data -Version 6.9.8安装MySql.data 6.9.8 ...程序包未列出-下载时出错。

我非常沮丧,要获得像MySQL这样的成熟技术与Visual Studio结合使用是如此困难。这在我的开发人员中造成了非常令人沮丧的积压,因此非常感谢任何建议。

1 个答案:

答案 0 :(得分:1)

我认为使用Newtonsoft.JSON遇到此错误是一种通过的仪式。我们都已经看到或将要看到该错误。但是今天,我收到了有关Mysql.Data的错误消息,因此像您一样,我不得不寻找修复程序。

和您一样,我执行了删除bin / obj文件夹,签出绑定重定向行,卸载并重新安装MySql.Data NuGet程序包等的仪式。

我认为在这种情况下为我解决的是从解决方案目录中删除Mysql.Data.dll的所有实例(由于许多项目都使用类库,因此我将其放在各种bin文件夹中使用MySql.Data)。