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

c# entity-framework

Question

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?

1
33
1/11/2018 6:35:52 AM

Accepted Answer

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 
51
1/11/2018 6:55:15 AM

Popular Answer

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.



Related Questions





Related

Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow
Licensed under: CC-BY-SA with attribution
Not affiliated with Stack Overflow