ASP.NET Core 2迁移错误.找不到匹配命令"dotnet-ef"的可执行文件

moh*_*mad 5 entity-framework-core asp.net-core asp.net-core-mvc-2.0

当我想向我的项目添加迁移时,我收到以下错误:

dotnet:找不到匹配命令"dotnet-ef"的可执行文件

为了解决这个问题,我添加了以下包,但我仍然得到相同的错误.

Microsoft.EntityFrameworkCore.Design(2.0.0)
Microsoft.EntityFrameworkCore.Tools.DotNet(2.0.0)
Run Code Online (Sandbox Code Playgroud)

我找到了一些解决方案,但这些是基于.net-core-1.net-core-2我们没有project.json文件.

更新:

这是我的.csproj文件:

<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>netcoreapp2.0</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Hosting" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.InMemory" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.0.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Json" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Extensions.Configuration">
      <HintPath>C:\Program Files\dotnet\sdk\NuGetFallbackFolder\microsoft.extensions.configuration\2.0.0\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
   </Reference>
</ItemGroup>

</Project>
Run Code Online (Sandbox Code Playgroud)

Kir*_*kin 12

为了开始dotnet ef工作,您需要添加一个DotNetCliToolReference元素.csproj,如下所示:

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
Run Code Online (Sandbox Code Playgroud)

这需要住在里面ItemGroup,比如:

<ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.0" />
</ItemGroup>
Run Code Online (Sandbox Code Playgroud)

您还需要确保dotnet ef从与.csproj文件相同的位置运行.