我在MVC Web应用程序中使用ASP.NET Core 2.2。我可以在我的PMC中使用add-migration
和update-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中遇到的错误也无法使用:
CLI中的无法创建类型为“ MainDbContext”的对象。对于不同 设计时支持的模式,
任何dotnet ef
命令都会在此错误中重新使用。如前所述,这些命令在PMC中可以正常工作。
如果您需要我的项目的任何部分,请告诉我。我会在这里分享。
答案 0 :(得分:0)
检查您是否在sdk的正确版本中运行ef。
dotnet --version
您可以通过在项目的根目录中创建global.json文件来指定版本。
{
"sdk": {
"version": "2.2.301"
}
}