Standard: Clarify .NET Standard 2.1 platform support

Created on 11 Jul 2019  路  7Comments  路  Source: dotnet/standard

The current .NET Standard 2.1 platform support is listed as follows:

|

.NET Standard
| 2.1 |
|:-------------------------------------|------------------:|
|.NET Core | 3.0 |
|.NET Framework | N/A2 |
|Mono | 6.2 |
|Xamarin.iOS | 12.12 |
|Xamarin.Mac | 5.12 |
|Xamarin.Android | 9.3 |
|Unity | TBD |
|Universal Windows Platform | TBD |

@akoeplinger Are these the correct versions for Mono/Xamarin?

@joshpeterson Do you already know the version of Unity that will support .NET Standard 2.1?

/cc @dotnet/nsboard @rowanmiller

Most helpful comment

@terrajobst: We don't yet have a target Unity version for .NET Standard 2.1. At the moment, the Unity ecosystem is .NET Framework-based. Since .NET Framework won't support .NET Standard 2.1, we need to migrate our ecosystem to use the .NET Core class libraries before we can move to .NET Standard 2.1.

So I think the steps for Unity are:

  1. Update our Mono fork to a version that supports .NET Standard 2.1 and the .NET Core class libraries (I guess this is Mono 6.2)
  2. Move the rest of the Unity ecosystem from .NET Framework to .NET Core

(1) is not too difficult, I suspect we will have that done on the order of months, since it is an internal-only change. (2) is much harder, as there are many Unity projects out there based on .NET Framework.

Given our experience with the similar .NET 2.0 -> .NET 4.5 class library update in our ecosystem, I would expect this transition to take at least a year once we have a version of Unity ready that can support .NET Core.

So I think Unity is 2+ years out from supporting anything beyond .NET Standard 2.0. With that said this, is something we are planning to start soon, as we want to keep up with the .NET ecosystem.

All 7 comments

@terrajobst: We don't yet have a target Unity version for .NET Standard 2.1. At the moment, the Unity ecosystem is .NET Framework-based. Since .NET Framework won't support .NET Standard 2.1, we need to migrate our ecosystem to use the .NET Core class libraries before we can move to .NET Standard 2.1.

So I think the steps for Unity are:

  1. Update our Mono fork to a version that supports .NET Standard 2.1 and the .NET Core class libraries (I guess this is Mono 6.2)
  2. Move the rest of the Unity ecosystem from .NET Framework to .NET Core

(1) is not too difficult, I suspect we will have that done on the order of months, since it is an internal-only change. (2) is much harder, as there are many Unity projects out there based on .NET Framework.

Given our experience with the similar .NET 2.0 -> .NET 4.5 class library update in our ecosystem, I would expect this transition to take at least a year once we have a version of Unity ready that can support .NET Core.

So I think Unity is 2+ years out from supporting anything beyond .NET Standard 2.0. With that said this, is something we are planning to start soon, as we want to keep up with the .NET ecosystem.

I've filed a PR to update the Xamarin version numbers we're currently tracking for NS2.1: https://github.com/dotnet/standard/pull/1333

Is there a specific date when you will freeze dotnet/standard? I see you keep adding changes, e.g. 6 days ago.

Is there a specific date when you will freeze dotnet/standard? I see you keep adding changes, e.g. 6 days ago.

Same as .NET Core 3.0, which will ship in September. Of course, we're locking down sooner, so the bar for making changes keep getting higher.

Why do you ask?

@akoeplinger

I've filed a PR to update the Xamarin version numbers we're currently tracking for NS2.1: #1333

Awesome, just merged.

@joshpeterson

So I think Unity is 2+ years out from supporting anything beyond .NET Standard 2.0.

Thanks, that makes sense.

I think I'll be closing this as these numbers seem up-to-date for the foreseeable future then.

Was this page helpful?
0 / 5 - 0 ratings