Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Package 'EntityFramework 6.2.0' was restored using '.NETFramework,Version=v4.6.1' instead of the project target framework '.NETCoreApp,Version=v2.0'

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?

like image 217
mohsinali1317 Avatar asked Jan 11 '18 06:01

mohsinali1317


3 Answers

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 

3rd party

If Nuget is not installed this command should do it

dotnet add package Microsoft.EntityFrameworkCore
like image 179
Ramesh Rajendran Avatar answered Nov 14 '22 20:11

Ramesh Rajendran


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.

like image 2
Ismail Yilmaz Avatar answered Nov 14 '22 19:11

Ismail Yilmaz


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

like image 1
IdahoB Avatar answered Nov 14 '22 20:11

IdahoB