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>
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. 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: * You misspelled a built-in dotnet command. * You intended to execute a . NET program, but dotnet-ef does not exist.
As you can see above, there are three main EF commands available: database, dbcontext and migrations.
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:
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With