Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Cannot find command 'dotnet ef'

I am using .NET Core 2.0 on Arch Linux / Visual Studio Code and am trying to get EF tools to work, but I keep getting the error:

cannot find command dotnet ef

I've just about looked everywhere and none of the suggestions worked.

The result of running 'dotnet ef':

[wasiim@wasiim-PC WebApiServerApp]$ dotnet ef --help Cannot find command 'dotnet ef', please run the following command to install  dotnet tool install --global dotnet-ef [wasiim@wasiim-PC WebApiServerApp]$ dotnet tool list -g Package Id            Version      Commands --------------------------------------------------- dotnet-dev-certs      2.2.0        dotnet-dev-certs dotnet-ef             2.2.3        dotnet-ef [wasiim@wasiim-PC WebApiServerApp]$ 

This is the 'dotnet --info' result, if it's of help:

[wasiim@wasiim-PC WebApiServerApp]$ dotnet --info .NET Core SDK (reflecting any global.json):  Version:   2.2.105  Commit:    7cecb35b92  Runtime Environment:  OS Name:     arch  OS Version:  OS Platform: Linux  RID:         arch-x64  Base Path:   /opt/dotnet/sdk/2.2.105/  Host (useful for support):   Version: 2.2.3   Commit:  6b8ad509b6  .NET Core SDKs installed:   2.2.105 [/opt/dotnet/sdk]  .NET Core runtimes installed:   Microsoft.NETCore.App 2.2.3 [/opt/dotnet/shared/Microsoft.NETCore.App]  To install additional .NET Core runtimes or SDKs:   https://aka.ms/dotnet-download 

This is my .csproj file:

<Project Sdk="Microsoft.NET.Sdk.Web">    <PropertyGroup>     <TargetFramework>netcoreapp2.2</TargetFramework>   </PropertyGroup>    <ItemGroup>     <Folder Include="wwwroot\" />   </ItemGroup>    <ItemGroup>     <PackageReference Include="Lucene.Net.Analysis.Common" Version="4.8.0-beta00005" />     <PackageReference Include="Lucene.Net.QueryParser" Version="4.8.0-beta00005" />     <PackageReference Include="Microsoft.AspNetCore.App" Version="2.2.5" />    <PackageReference Include="Lucene.Net" Version="4.8.0-beta00005" />     <PackageGroup Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />     <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.2.0" PrivateAssets="All" />     <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.2.4" />     <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />    </ItemGroup>  </Project> 
like image 264
Wasiim Ouro-sama Avatar asked Jul 03 '19 02:07

Wasiim Ouro-sama


People also ask

Why dotnet ef is not recognized?

Possible reasons for this include: You misspelled a built-in dotnet command. You intended to execute a . NET Core program, but dotnet-ef does not exist.

Could not execute because the specified command or file was not found ef?

Could not execute because the specified command or file was not found. Possible reasons for this include: * You misspelled a built-in dotnet command. * You intended to execute a . NET program, but dotnet-xyz does not exist.

Could not execute because the specified command or file was not found Possible reasons for this include?

Could not execute because the specified command or file was not found. Possible reasons for this include: * You misspelled a built-in dotnet command. * You intended to execute a . NET program, but dotnet-ef does not exist.

What are the main dotnet ef commands?

As you can see above, there are three main EF commands available: database, dbcontext and migrations.


1 Answers

In my case, the tools folder didn't exist inside %USERPROFILE%\.dotnet\ so I had to run the command dotnet tool install --global dotnet-ef to install dotnet ef. Then I was able to run dotnet ef...

This was the result of the above install command:

This was the result of the above install command

like image 96
Garth Avatar answered Oct 05 '22 00:10

Garth