I am using Visual Studio 2015 and dotnet core and trying to develop an EF Core Code First project using Sqlite and this documentation / tut
The dotnet-ef command has moved.
You will need to add a reference to Microsoft.EntityFrameworkCore.Tools.DotNet AND Microsoft.EntityFrameworkCore.Design to your dependencies in project.json, then add Microsoft.EntityFrameworkCore.Tools.DotNet to the tools section and you should be good to go.
Cited from: http://errummwelluhh.blogspot.com
Just faced similar issue. Fixed by downgrading to 1.0.0-preview3-final
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": "1.0.0-preview3-final",
}
and changing --project param to --startup-project
dotnet ef --startup-project <PATH_TO_PROJECT_DIRECTORY> migrations add <MIGRATION_NAME>
In global.json I also downgraded version to
"sdk": {
"version": "1.0.0-preview2-003131"
}
This might be a temp workaround before migrating to csproj.
sometimes you need to change the current directory in console/terminal eg:
PM> cd E:\Projects\CrossTest\
PM> dotnet ef migrations add InitialMigration
and Align your package versions. Either use preview1 packages or preview2. Mix of those are not supported.
It simply Means that
YOU ARE NOT IN CURRENT PROJECT DIRECTORY
I was facing the same issue when scaffolding existing database of MySql using this.
Command I was executing:
dotnet ef dbcontext scaffold "Server=123.1.1.1;Uid=abc;Pwd=abc;Database=myDB;Connection Timeout=20;Persist Security Info=False;Port=3306;Allow User Variables=True;Connect Timeout=120;" MySql.Data.EntityFrameworkCore -o Models
Causing the same error , then I checked current working directory inside package manager console and found incorrect.
In my case
Mean I was not in current project directory then after switching directory
cd SSGCApp
Now you are in project directory all good to run the Command.
Microsoft.EntityFrameworkCore.Tools
Microsoft.EntityFrameworkCore.Design
Edit
and then add the following to the ItemGroup
that contains PackageReference
nodes<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.0.3" />
(You can find the latest version by finding it in the Nuget Package manager)
cd {path where your csproj file resides}
(this is important)dotnet ef migrations add InitialMigration
Instead of:
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
},
try:
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet": {
"version": "1.0.0-preview3-final"
}},