无法创建迁移,因为无法识别 EntityFramework.Design 包

Kon*_*ten 0 c# entity-framework-core .net-core .net-core-3.0 ef-core-3.0

我安装了EntityFrameworkCore.Design运行以下。

Install-Package Microsoft.EntityFrameworkCore.Design -Version 3.0.0-preview6.19304.10
Run Code Online (Sandbox Code Playgroud)

它似乎已安装,我可以在VS中看到以下内容。

[图片]

但是,当我尝试使用创建迁移时

dotnet ef migrations add Init
Run Code Online (Sandbox Code Playgroud)

我等待了很长时间,然后出现以下错误。

您的启动项目“Web”未引用 Microsoft.EntityFrameworkCore.Design。这个包是 Entity Framework Core Tools 工作所必需的。确保您的启动项目正确,安装包,然后重试。

当我检查Web.proj文件时,我会看到以下部分。

<ItemGroup>
  <PackageReference Include="Microsoft.AspNetCore.SpaServices.Extensions" Version="3.0.0-preview6.19307.2" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.0.0-preview6.19304.10">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
  </PackageReference>
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0-preview6.19304.10" />
  <PackageReference Include="Swashbuckle.AspNetCore" Version="5.0.0-rc2" />
  <PackageReference Include="Swashbuckle.AspNetCore.SwaggerUI" Version="5.0.0-rc2" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

如何确保电脑看到包裹?

Cod*_*ack 8

您需要参考其他软件包才能使迁移工作,添加:

Microsoft.EntityFrameworkCore.Tools
Run Code Online (Sandbox Code Playgroud)

将其添加到具有数据上下文的项目中。