I have made .net core 2.0 web app. I have added Entity Framework 6.2.0 using NUGET and then I get this error
Package 'EntityFramework 6.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'. This package may not be fully compatible with your project.
How do I fix this?
The problem is your entity version is confused with .NetFramework
and .NetCore
. Your application target framework is Asp.Net Core
. So You should install package related with Asp.net Core
In your case 'EntityFramework 6.2.0'
is supports by .NETFramework,Version=v4.6.1'
not by '.NETCoreApp,Version=v2.0'
. So use this below version of entity framework instead of yours.
PM> Install-Package Microsoft.EntityFrameworkCore -Version 2.0.1
If Nuget is not installed this command should do it
dotnet add package Microsoft.EntityFrameworkCore
Alternatively you can change your target framework to net461 as below.
<TargetFramework>net461</TargetFramework>
By changing your target framework to net461 makes you available to use .net core and full .net frameworks. I think that for this period of time, this approach is better. Because EF Core still hasn't got some main features like many to many relationship and some others. Sure it depends on your needs and expectations from an ORM tool.
In my case, my project was Core 2.2. I installed (NuGet) Microsoft.EntityFrameworkCore v2.2.4 first and all built fine. Then I ACCIDENTALLY installed Microsoft.AspNet.Identity rather than Microsoft.AspNetCore.Idendity (v2.2.0). Once my eyes spotted the missing 'Core' in the .Identity package and I fixed it by uninstalling the wrong and installing the right, then the warnings went away. I expect I'm not the only one that went a little fast on the Nuget installations on a new project :)
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