I'm installing dotnet-ef 3.0.1 on Azure DevOps release pipeline with dotnetcore 3.0; installation fails with incompatibility error.
Run
dotnet tool install --global dotnet-ef --version 3.0.1
Expected
Tool 'dotnet-ef' (version '3.0.1') was successfully installed.
Actual
error NU1202: Package dotnet-ef 3.0.1 is not compatible with netcoreapp3.0 (.NETCoreApp,Version=v3.0) / any. Package dotnet-ef 3.0.1 supports: netcoreapp2.1 (.NETCoreApp,Version=v2.1)
EF Core version: 3.0
dotnet-ef version: 3.0.1
Issue is NOT seen in dotnet-ef version 3.0.0. I'm currently using this version to resolve the issue.
same here, does it mean that dotnet-ef 3.0.1
is for .NET Core 3.1
?
same here, and dotnet tool install --global dotnet-ef --version 3.0.0-*
is not affected too.
It seems that the one for .NET Core 3.1
is dotnet-ef 3.1.0
.
I think this issue a typo netcoreapp2.1
instead of netcoreapp3.0
.
Guess there is a bug that was meant to be netcoreapp >= 2.1 instead of netcoreapp == 2.1.
3.0.0 also shows netcoreapp2.1 as dependency but works as expected
@bricelam @Pilchie @dougbu Looks possible from this that the package for dotnet-ef
was not built correctly.
I'm assuming we didn't make any changes to dotnet-ef
in 3.0.1? Should we just unlist the package and tell people to keep using the 3.0.0 version?
I fixed the package in release/3.1 for 3.1.0-preview2, but it looks like it also got broken in release/3.0. I can backport the fix.
Does someone know when this issue will be fixed?
@Pilchie Is unlisting enough to prevent dotnet tool install
from picking it? I suppose it will be once we ship 3.1.0.
I think it will, but looping in @nguerrera to confirm.
@wli3
I don鈥檛 know so I鈥檝e added Will to confirm
Right now without fix in 3.0.1 you cannot run dotnet ef
commands when on .net core 3.0.100. You get smth like this
The EF Core tools version '3.0.0' is older than that of the runtime '3.0.1'. Update the tools for the latest features and bug fixes.
@bricelam Presumably the workaround for anyone hitting this is to install the 3.0.0 version explicitly?
dotnet tool install --global dotnet-ef --version 3.0.0
I've got 3.0.0 installed and it still errors with.
"The EF Core tools version '3.0.0' is older than that of the runtime '3.0.1'. Update the tools for the latest features and bug fixes."
@nkolev92 can unlist stop nuget restore "*" that version? I heard from Gallery folks that unlist only controls nuget.org's search
@Kant8 and @derekforeman I have the 3.0.0
version of dotnet-ef
installed as well as the 3.0.100
SDK. I'm not seeing the inability to roll forward you describe.
> dotnet --version
3.0.100
> dotnet ef --version
Entity Framework Core .NET Command-line Tools
3.0.0
> dotnet ef migrations list
info: Microsoft.EntityFrameworkCore.Infrastructure[10403]
Entity Framework Core 3.0.0 initialized 'ApplicationDbContext' using provider 'Microsoft.EntityFrameworkCore.SqlServer' with options: None
00000000000000_CreateIdentitySchema
What's different in your environment?
When taking ajcvickers recommendation to explicitly install 3.0.0, I no longer receive the error message.
Tagging @JunTaoLuo who was interested in this.
@nkolev92 can unlist stop nuget restore "*" that version? I heard from Gallery folks that unlist only controls nuget.org's search
That is correct, unlist only affects search.
In my Azure Devops Pipeline I have a task using EF-Migrations-Script-Generator-Task. This task has a checkbox to install dotnet-ef for Core 3.x projects
... but this now fails because it is installing dotnet-ef 3.0.1
I have unchecked that option the added another task before:
My Pipeline is now building again. Obviously I'm keen to undo this when the "latest version" option works, but it will suffice for now.
@dougbu Completely the same, but I also had Microsoft.EntityFrameworkCore.SqlServer of version 3.0.1. I've downgraded this one too and now everything works perfectly.
I have both the 3.0.100
and 3.0.101
SDKs installed so I pegged my project to the 3.0.100
SDK by placing a global.json
file in my root with the following:
{
"sdk": {
"version": "3.0.100"
}
}
and then ran the command @ajcvickers suggested above.
Hopefully 3.1
ships soon so we can forget about 3.0
馃槂
I don't know why, but specifying a patch number didn't work for me, so i just used:
dotnet tool install --global dotnet-ef --version 3.0
It's working properly now. Hope this helps, until we get the next patch working!
@KbKev78, I鈥檝e updated EF-Migrations-Script-Generator-Task so you are able to specify which version of dotnet-ef to be install. If you enter 3.0.0 you should be fine. I hope this makes the problem easier to deal with until it鈥檚 solved.
@pekspro,
@KbKev78, I鈥檝e updated EF-Migrations-Script-Generator-Task so you are able to specify which version of dotnet-ef to be install. If you enter 3.0.0 you should be fine. I hope this makes the problem easier to deal with until it鈥檚 solved.
Nice job, thanks.
I have now removed that additional step.
Once the underlying issue is resolved I will clear that version number.
Oh, and that's a nice plugin, by the way. Cheers.
I have "dotnet ef" version 3.0.0 installed. Now command "dotnet ef dbcontext scaffold ..." stopped working, giving this message: "The EF Core tools version '3.0.0' is older than that of the runtime '3.0.1'. Update the tools for the latest features and bug fixes." What should i do to fix it? I cannot install "dotnet ef 3.0.1" because of subject error message.
@sibeliuz check you do not have any EFCore related dependencies in project of version 3.0.1. You probably have Microsoft.EntityFrameworkCore.Design 3.0.1 (or ...SqlServer, etc.)
The EF Core tools version '3.0.0' is older than that of the runtime '3.0.1'. Update the tools for the latest features and bug fixes.
For me it is just a warning, and command still works after printing it.
It is weird,but for me helped add
var connectionString = Configuration.GetConnectionString("IdentityServerConnection");
services.AddDbContext
I've used different DbContext here before.
The EF Core tools version '3.0.0' is older than that of the runtime '3.0.1'. Update the tools for the latest features and bug fixes.
For me it is just a warning, and command still works after printing it.
Yes, it turns out it is just a warning and everything functioned as intended for me.
I am not sure whether it is appropriate to make suggestion here, and I found that this message is extremely confusing and lacks of explaination on what's happening underneath. If this message is only intended as a warning message, then at a minimal extent, it should has some sort of hints (i.e. [WARNING]) to tell the user it is a warning indeed,
Thanks!
@chungonion It's not actually even a warning. It's just letting you know that you're not running the latest so you won't be getting the latest features and bug fixes.
@chungonion It's not actually even a warning. It's just letting you know that you're not running the latest so you won't be getting the latest features and bug fixes.
@ajcvickers That's why some sort of indications should be displayed in the terminal
I follow the suggestion from here:
https://github.com/aspnet/EntityFrameworkCore/issues/18977#issuecomment-556092925
and the error was gone.
Now, I can run the entity framework command line interface.
in .csproj file:
<PackageReference
Include="Microsoft.EntityFrameworkCore"Version="3.0.0"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="3.0.0"/>
it helps me. i guess they have to be same version.
I just started a completely new webapi via Visual Studio and I'm getting the error below when I'm trying to install dotnet-ef 3.1.8
Package dotnet-ef 3.1.8 is not compatible with netcoreapp3.1 (.NETCoreApp,Version=v3.1). Package dotnet-ef 3.1.8 supports: netcoreapp3.1 (.NETCoreApp,Version=v3.1) / any
Invalid project-package combination for dotnet-ef 3.1.8. DotnetToolReference project style can only contain references of the DotnetTool type
@juliofalbo Hi, it looks like you are posting on a closed issue/PR/commit!
We're very likely to lose track of your bug/feedback/question unless you:
Most helpful comment
@bricelam Presumably the workaround for anyone hitting this is to install the 3.0.0 version explicitly?