C# 未能加载文件或程序集“mysql.data”或它的某一个依赖项。找到的程序集清单定义与程序集引用不匹配

 

 

 发现在app.config中已经加了以下代码。这个代码有可能是在Nuget包安装mysql.data.dll 时自动生成的。

 

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="MySql.Data" publicKeyToken="C5687FC88969C44D" culture="neutral"/>
                <bindingRedirect oldVersion="0.0.0.0-8.0.18.0" newVersion="8.0.18.0"/>
            </dependentAssembly>
        </assemblyBinding>
    </runtime>

  

解决方案:

1) 当我注释代码以后,程序恢复正常。

2) 发现是mysql.data.dll的版本不是8.0.18.0,我的版本是6.4.4.0。将newVersion参数改成6.4.4.0,也可以解决问题。

我用的是mysql.data.dll 6.4.4.0 版本的,这个版本基于.net framework 4.0 框架,执行上述解决方案后,还是没有成功,是在release下调试的,后面重新debug调试后不报错了。接着在测试,发现不更改代码里的版本号也是可行的。不知道啥原因。

 

posted @ 2019-12-05 11:05  惊风雨  阅读(2157)  评论(0)    收藏  举报