无法在CLI中使用dotnet ef命令

时间:2019-07-05 13:03:44

标签: entity-framework asp.net-core entity-framework-core ef-core-2.0

我在MVC Web应用程序中使用ASP.NET Core 2.2。我可以在我的PMC中使用add-migrationupdate-database,它们可以正常工作。 但是,当我在Windows Power Shell中使用dotnet ef migrations add InitMig之类的CLI命令时,它们不起作用并给出此错误:

  

要执行的应用程序不存在

为清楚起见,我详细介绍了这个项目。因此,方向没有问题。但dotnet ef命令仍然无效。

我阅读了这篇Microsoft文章,它说我不需要在我的项目中为NET Core 2.2应用程序添加任何软件包,即可使CLI命令起作用。 Microsoft article

但是我将该软件包添加到了我的项目中,以测试dotnet ef是否有效,如下所示:

<ItemGroup>
         <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
</ItemGroup>

因此dotnet ef命令有效并给出了其版本和独角兽。现在的问题是,即使dotnet ef migrations list我在CLI中遇到的错误也无法使用:

  

无法创建类型为“ MainDbContext”的对象。对于不同   设计时支持的模式,

CLI中的

任何dotnet ef命令都会在此错误中重新使用。如前所述,这些命令在PMC中可以正常工作。

如果您需要我的项目的任何部分,请告诉我。我会在这里分享。

1 个答案:

答案 0 :(得分:0)

检查您是否在sdk的正确版本中运行ef。

dotnet --version

您可以通过在项目的根目录中创建global.json文件来指定版本。

{
  "sdk": {
    "version": "2.2.301"
  }
}