无法加载文件或程序集"MySql.Data.EntityFramework,版本=8.0.19.0"或其依赖项之一。

5

我刚刚安装了最新版本的MySQL.Data.EntityFramework Version 8.0.19

第一次运行代码时,我遇到了以下错误:

最新的Nuget包(MySql.Data 8.0.19)包含一个未签名的Ubiety.Dns.Core.dll版本。这会导致加载时出现异常。

根据此错误报告,我需要安装Ubiety.Dns.Core/软件包...所以我安装了这个包。现在我遇到以下异常:

无法加载文件或程序集'MySql.Data.EntityFramework,Version = 8.0.19.0, Culture = neutral,PublicKeyToken = c5687fc88969c44d'或其依赖项之一。


为解决问题,我尝试安装先前的版本:MySQL.Data.EntityFramework Version 8.0.18,但我找不到任何以前的版本:MySql.Data.EntityFramework Nuget

是否有人知道以前的版本是否已被删除?

6个回答

5
对于那些不想看到Ubiety.Dns.Core产生的成千上万的冗余警告信息的人来说,安装早期版本对我来说运行良好。
Install-Package Ubiety.Dns.Core -Version 2.4.1

2

更新:

MySQL.Data 8.0.19 依赖于 Ubiety.Dns.Core,它不会自动安装。在安装完MySQL.Data 8.0.19后,您需要单独安装Ubiety.Dns.Core

此外,请注意,Oracle已删除所有以前的版本MySQL.Data 8.0.19请参见此处,因此如果您升级到8.0.19,则无法返回到8.0.18...我相信删除所有以前的版本的原因是它们有一个bug,该bug使用多主机连接字符串,在8.0.19中得到了修复。


原始答案:

在我的情况下,我遇到错误的原因是我忘记将解决方案中的所有项目升级到MySQL.Data 8.0.19,其中一些仍然停留在8.0.18


2

哇,惊人的是,我遇到了完全相同的问题。 我所做的解决方法:

  • 将所有项目更新为mysql提供程序的8.0.19版本。
  • 重新添加db提供程序标签到我的web.config中。 我不小心将其删除了。 这是我的错。
  • 最后,我安装了Ubiety.Dns.Core。

完成所有这些步骤后,我的问题得到了解决。


2

目前我只好使用8.0.18版本,以待修复发布。因为在我的项目中安装Ubiety.Dns.Core会导致源代码中出现数千个警告。

Install-Package MySql.Data -version 8.0.18

2

检查您的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=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d" />
    </DbProviderFactories>
  </system.data>

并且还添加了提供者:

<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.EntityFramework, Version=8.0.19.0, Culture=neutral, PublicKeyToken=c5687fc88969c44d">

0

对我来说,移除代码中的以下部分就是修复方法

    <system.data>
        <DbProviderFactories>
           <add name="MySQL Data Provider" invariant="MySql.Data.MySqlClient" description=".Net Framework Data Provider for MySQL" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data, Version=8.0.19.0, Culture=neutral, PublicKeyToken=xxxx" />
        </DbProviderFactories>
    </system.data>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接