【发布时间】:2021-03-11 12:56:23
【问题描述】:
我有在 .NET MVC 中使用 EF 迁移的经验,但在切换到 .NET Core 和 CLI 后,现在我无法使用 CLI 应用迁移。以下是我使用的命令,但我不确定应该在哪个项目中打开 CLI。
假设我在解决方案目录上打开 CLI 并且有 2 个项目;域项目包含实体,基础设施项目包含迁移文件夹:
添加迁移
dotnet ef migrations add AddDateOfBirthField --project src\Domain
--context ApplicationDbContext --output-dir src\Infrastructure\Migrations
抛出以下错误:
启动项目“Domain.csproj”以框架“.NETStandard”为目标。没有与此框架相关联的运行时,并且针对它的项目无法直接执行。要在此项目中使用 Entity Framework Core .NET 命令行工具,请添加一个以 .NET Core 或 .NET Framework 为目标并引用此项目的可执行项目,并使用 --startup-project 将其设置为启动项目;或者,将此项目更新为跨目标 .NET Core 或 .NET Framework。有关在 .NET Standard 项目中使用实体框架工具的更多信息,请参阅https://go.microsoft.com/fwlink/?linkid=2034781
所以,我应该从 CLI 的另一个目录执行命令还是使用额外的标志,例如--startup-project?
【问题讨论】:
-
其他人没有
Entity Framework Core的经验吗? -
--project src\Domain类型不是 .Net Core 或 .Net 框架。这就是您收到此错误的原因。 -
这应该会有所帮助 - rajbos.github.io/blog/2020/04/23/…
-
@Berkay 谢谢朋友。我应该如何运行该命令?您能否根据给定的信息发布它(域项目包含实体,基础设施项目包含迁移文件夹:)
-
@Yogi 完美!非常感谢 amigo,它似乎正在工作。
标签: c# entity-framework asp.net-core .net-core entity-framework-core