【问题标题】:Unable to find provider assembly with name Pomelo.EntityFrameworkCore.MySql找不到名称为 Pomelo.EntityFrameworkCore.MySql 的提供程序程序集
【发布时间】:2019-10-18 15:19:12
【问题描述】:

我在 VS 2017 中创建了一个 ASP.Net Core API 项目并添加了 .Net Core 类库。然后我在类库中安装了以下掘金。 (我需要使用这个类库作为 DAL)

Pomelo.EntityFrameworkCore.MySql

Pomelo.EntityFrameworkCore.MySql.Design

我有一个现有的数据库。所以我需要使用数据库优先方法生成模型类。

所以我在包管理器控制台中执行了以下命令(Web API 项目名称是测试,类库名称是 DAL)。我在包管理器控制台中将 DAL 设置为我的默认项目

dotnet ef dbcontext 脚手架 “服务器=本地主机;端口=3306;用户=根;密码=abc123;数据库=测试;” Pomelo.EntityFrameworkCore.MySql -o 模型 -p DAL -s 测试

执行此命令后出现以下错误。

Unable to find provider assembly with name Pomelo.EntityFrameworkCore.MySql. Ensure the specified name is correct and is referenced by the project.

我试图为此找到解决方案,但找不到。我做错了什么?

谢谢

【问题讨论】:

  • 您是否将包管理器控制台中的默认项目设置为您的类库?
  • 是的。我已经设置好了
  • 你的类库构建成功了吗?
  • 是的。类库构建成功

标签: c# mysql asp.net-core entity-framework-core


【解决方案1】:

我在使用 Visual Studio 2019(版本 16.6.0)、ASP.NET Core 3.1、EF Core 和 Pomelo 时遇到了同样的问题,它们都是使用包管理器安装的。

尝试搭建数据库会使 Pomelo 从我的参考文献中删除。经过一番谷歌搜索后,我找到了更新 Visual Studio 的参考,我对 16.6.2 版本进行了更新,从而纠正了该问题。 (抱歉不记得更新原因的链接)。似乎它与引用早期 .net 版本的包有关?但记不得了。

【讨论】:

    【解决方案2】:

    将 .net Core 版本 2.1.1 升级到 2.2.0 后,它可以正常工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-08
      • 2014-02-06
      • 2013-08-29
      • 2013-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多