在程序集“ProjectName.Web”中找不到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的
Posted
技术标签:
【中文标题】在程序集“ProjectName.Web”中找不到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的【英文标题】:No DbContext was found in assembly 'ProjectName.Web'. Ensure that you're using the correct assembly and that the type is neither abstract nor generic 【发布时间】:2020-04-11 14:34:18 【问题描述】:我正在尝试为 ABP.io MVC 项目添加 Volo.Blogging 模块,但我得到了 'No DbContext was found in assembly 'ProjectName.Web' .确保您使用的是正确的程序集,并且该类型既不是抽象的也不是通用的。错误。
bash 命令:
abp new ProjectName
cd ProjectName
abp add-module Volo.Blogging -sp ./src/ProjectName.Web/ProjectName.Web.csproj
我使用的是 macOS Catalina、.NET Core 3.1.100、abp cli 1.1.2、Visual Studio 2019 for Mac。
谢谢。
【问题讨论】:
【参考方案1】:将.DbMigrator
项目改为启动项目:
abp add-module Volo.Blogging -sp ./src/ProjectName.DbMigrator/ProjectName.DbMigrator.csproj
参考资料:
https://github.com/abpframework/abp/issues/2368 https://docs.abp.io/en/abp/latest/Getting-Started-AspNetCore-MVC-Template#using-the-dbmigrator-application【讨论】:
感谢 aaron 的快速回复。不幸的是,设置 DbMigrator csproj 的路径不起作用。我仍然收到 No DbContext 错误。我也尝试过使用 EntityFrameworkCore 和 EntityFrameworkCore.DbMigrations csproj,但没有成功。 不指定怎么样? 现在我得到'没有找到项目。更改当前工作目录或使用 --project 选项。错误。 我无法重现。你在abp new ProjectName
之后是cd ProjectName
吗?
是的,我已经在解决方案文件夹中使用了 cd...同样的结果。我将在我的 Windows 机器上尝试相同的测试并返回结果。再次感谢亚伦。【参考方案2】:
您必须检查库类,例如避免在 .NET 中保留任何名称,例如 (EF, Web ....)
从 EF 更改库类名称
issue EF Library class
致 Article.EF
Solution Fixed
【讨论】:
欢迎来到 SO。始终欢迎提供指向潜在解决方案的链接,但请在链接周围添加上下文,以便您的其他用户了解它是什么以及为什么存在。始终引用重要链接中最相关的部分,以防目标站点无法访问或永久离线。以上是关于在程序集“ProjectName.Web”中找不到 DbContext。确保您使用的是正确的程序集,并且该类型既不是抽象的也不是泛型的的主要内容,如果未能解决你的问题,请参考以下文章
在 Hololens 项目中找不到 DLL。 (您是不是缺少 using 指令或程序集引用?)
Code-First,当我进行启用迁移时,我得到“在程序集'DOC'中找不到上下文类型”