.NET implementations supported by EF Core

We want EF Core to be available to developers on all modern .NET implementations, and we're still working towards that goal. While EF Core's support on .NET Core is covered by automated testing and many applications known to be using it successfully, Mono, Xamarin and UWP have some issues.

Overview

The following table provides guidance for each .NET implementation:

EF Core 1.x 2.x 3.x
.NET Standard 1.3 2.0 2.1
.NET Core 1.0 2.0 3.0
.NET Framework(1) 4.5.1 4.7.2 (not supported)
Mono 4.6 5.4 6.4
Xamarin.iOS(2) 10.0 10.14 12.16
Xamarin.Android(2) 7.0 8.0 10.0
UWP(3) 10.0 10.0.16299 TBD
Unity(4) 2018.1 2018.1 TBD

(1) See the .NET Framework section below.

(2) There are issues and known limitations with Xamarin which may prevent some applications developed using EF Core from working correctly. Check the list of active issues for workarounds.

(3) EF Core 2.0.1 and newer recommended. Install the .NET Core UWP 6.x package. See the Universal Windows Platform section of this article.

(4) There are issues and known limitations with Unity. Check the list of active issues.

.NET Framework

Applications that target .NET Framework may need changes to work with .NET Standard libraries:

Edit the project file and make sure the following entry appears in the initial property group:

<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>

For test projects, also make sure the following entry is present:

<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>

If you want to use an older version of Visual Studio, make sure you upgrade the NuGet client to version 3.6.0 to work with .NET Standard 2.0 libraries.

We also recommend migrating from NuGet packages.config to PackageReference if possible. Add the following property to your project file:

<RestoreProjectStyle>PackageReference</RestoreProjectStyle>

Universal Windows Platform

Earlier versions of EF Core and .NET UWP had numerous compatibility issues, especially with applications compiled with the .NET Native toolchain. The new .NET UWP version adds support for .NET Standard 2.0 and contains .NET Native 2.0, which fixes most of the compatibility issues previously reported. EF Core 2.0.1 has been tested more thoroughly with UWP but testing is not automated.

When using EF Core on UWP:

Report issues

For any combination that doesn’t work as expected, we encourage creating new issues on the EF Core issue tracker. For Xamarin-specific issues use the issue tracker for Xamarin.Android or Xamarin.iOS.