Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

error NU1202: Package dotnet-ef 3.0.1 is not compatible with netcoreapp3.0 #18977

Closed
yongsauheung opened this issue Nov 19, 2019 · 37 comments
Closed
Assignees
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. customer-reported regression type-bug
Milestone

Comments

@yongsauheung
Copy link

yongsauheung commented Nov 19, 2019

I'm installing dotnet-ef 3.0.1 on Azure DevOps release pipeline with dotnetcore 3.0; installation fails with incompatibility error.

Steps to reproduce

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)

Further technical details

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.

@Nothing-Works
Copy link

Nothing-Works commented Nov 19, 2019

same here, does it mean that dotnet-ef 3.0.1 is for .NET Core 3.1 ?

@misaka4e21
Copy link

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.

@ffloimair
Copy link

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

@ajcvickers
Copy link
Member

@bricelam @Pilchie @dougbu Looks possible from this that the package for dotnet-ef was not built correctly.

@ErikEJ
Copy link
Contributor

ErikEJ commented Nov 19, 2019

image

image

@Pilchie
Copy link
Member

Pilchie commented Nov 20, 2019

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?

@bricelam
Copy link
Contributor

bricelam commented Nov 20, 2019

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.

@bricelam bricelam self-assigned this Nov 20, 2019
@bricelam bricelam added closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. Servicing-consider labels Nov 20, 2019
@andre-dasilva
Copy link

Does someone know when this issue will be fixed?

@bricelam
Copy link
Contributor

@Pilchie Is unlisting enough to prevent dotnet tool install from picking it? I suppose it will be once we ship 3.1.0.

@Pilchie
Copy link
Member

Pilchie commented Nov 20, 2019

I think it will, but looping in @nguerrera to confirm.

@nguerrera
Copy link

@wli3

@nguerrera
Copy link

I don’t know so I’ve added Will to confirm

@Kant8
Copy link

Kant8 commented Nov 20, 2019

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.

@ajcvickers
Copy link
Member

@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

@derekforeman
Copy link

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."

@wli3
Copy link

wli3 commented Nov 20, 2019

@nkolev92 can unlist stop nuget restore "*" that version? I heard from Gallery folks that unlist only controls nuget.org's search

@dougbu
Copy link
Member

dougbu commented Nov 20, 2019

@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?

@joshuasnyder
Copy link

When taking ajcvickers recommendation to explicitly install 3.0.0, I no longer receive the error message.

@Pilchie
Copy link
Member

Pilchie commented Nov 20, 2019

Tagging @JunTaoLuo who was interested in this.

@nkolev92
Copy link

@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.

@KbKev78
Copy link

KbKev78 commented Nov 21, 2019

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
image

... but this now fails because it is installing dotnet-ef 3.0.1

I have unchecked that option the added another task before:
image

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.

@Kant8
Copy link

Kant8 commented Nov 21, 2019

@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.

@miguellira
Copy link

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 😃

@lautarogalancid
Copy link

lautarogalancid commented Nov 23, 2019

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!

@pekspro
Copy link

pekspro commented Nov 24, 2019

@KbKev78, I’ve 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’s solved.

@KbKev78
Copy link

KbKev78 commented Nov 26, 2019

@pekspro,

@KbKev78, I’ve 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’s 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.

@sibeliuz
Copy link

sibeliuz commented Nov 28, 2019

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.

@Kant8
Copy link

Kant8 commented Nov 28, 2019

@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.)

@smitpatel
Copy link
Member

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.

@alexandra142
Copy link

It is weird,but for me helped add
var connectionString = Configuration.GetConnectionString("IdentityServerConnection");
services.AddDbContext(options => ...
I've used different DbContext here before.

@chungonion
Copy link

chungonion commented Dec 11, 2019

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!

@ajcvickers
Copy link
Member

@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
Copy link

chungonion commented Dec 12, 2019

@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

@catalin27es
Copy link

I follow the suggestion from here:
#18977 (comment)
and the error was gone.
Now, I can run the entity framework command line interface.

@mahrijemalsaparova
Copy link

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.

@juliofalbo
Copy link

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 

@dougbu
Copy link
Member

dougbu commented Sep 16, 2020

@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:

  1. Open a new issue
  2. Explain very clearly what you need help with
  3. If you think you have found a bug, include detailed repro steps so that we can investigate the problem

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
closed-fixed The issue has been fixed and is/will be included in the release indicated by the issue milestone. customer-reported regression type-bug
Projects
None yet
Development

No branches or pull requests