4

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

我第一次运行代码时出现以下错误:

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

根据:this bug report,我需要安装:Ubiety.Dns.Core/ package...所以我安装了这个包。现在我收到以下异常:

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


作为一种解决方法,我尝试安装以前的版本,MySQL.Data.EntityFramework Version 8.0.18但找不到任何以前的版本:MySql.Data.EntityFramework Nuget

有谁知道之前的版本是否被删除了?

4

6 回答 6

5

对于那些不希望由于某种原因出现在 Ubiety.Dns.Core 中的数千个冗余警告的人——安装早期版本对我来说效果很好:

Install-Package Ubiety.Dns.Core -Version 2.4.1
于 2020-02-19T13:39:24.200 回答
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">
于 2020-01-15T08:44:26.177 回答
2

更新:

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

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


原答案:

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

于 2020-01-16T04:21:59.450 回答
2

哇,令人惊讶的是,我遇到了完全相同的问题。我做了什么来解决:

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

做这一切解决了我的问题。

于 2020-01-22T21:08:31.930 回答
2

目前,在发布修复程序之前,我一直使用 8.0.18,因为在我的项目中安装 Ubiety.Dns.Core 会导致我的源代码中出现数千个警告。

Install-Package MySql.Data -version 8.0.18
于 2020-01-31T09:12:16.833 回答
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>
于 2020-05-05T18:58:45.703 回答