Runtime: Implement Utf8JsonReader, Writer and JsonDocument to support netstandard2.0

Created on 14 Jan 2019  路  6Comments  路  Source: dotnet/runtime

The current implementation of S.T.Json targets netcoreapp3.0.

This will likely require some conditional includes (to fix the S.T.Json dependencies) and ifdefs in the source around APIs that are not included within netstandard2.0.

This change is necessary to produce a source package that targets netstandard2.0.

cc @KrzysztofCwalina, @bartonjs, @steveharter, @joperezr

area-System.Text.Json

All 6 comments

I would really like to see the netstandard1.x goal written down somewhere official. As far as I know, we are doing netstandard2.0; as the "really netstandard2.0-compatible" NetFX versions have been out long enough.

As far as I know, we are doing netstandard2.0; as the "really netstandard2.0-compatible" NetFX versions have been out long enough.

I agree, and am fine with having the goal be netstandard2.0. netstandard2.0 means support for .NET Fx 4.6.1. From the initial requirements gathering (a few months ago), I recall an asks for .NET 4.5 support, but that may not be substantiated.

@KrzysztofCwalina, based on the Azure SDK needs, is 4.6.1 sufficient? I remember you did some cursory search on the existing SDKs and found some that were multi-targeting. Were they targeting .NET 4.5?

I would really like to see the netstandard1.x goal written down somewhere official.

cc @terrajobst, @glennc

@Petermarcu tells me 4.6.1 is sufficient.

We should also talk about you providing a net461 asset in the same package to help people avoid the binding redirects nightmare and extra facade copies. Feels like that should be the default when providing an ns2 platform library while 461 is still a valid target.

@Petermarcu The idea is that this will be a source package, which means that no binaries will be provided. Because of this, the consuming project may avoid the need of having binding redirects as long as all of the dependencies in order to compile the source in this package (which AFAIK are only System.Memory and System.Runtime.CompilerServices.Unsafe) have an asset targetting .NET Framework.

@joperezr yeah, for source packages its not an issue. I was more thinking about the generic baseline for packages shipped by corefx.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

jzabroski picture jzabroski  路  3Comments

matty-hall picture matty-hall  路  3Comments

Timovzl picture Timovzl  路  3Comments

chunseoklee picture chunseoklee  路  3Comments

nalywa picture nalywa  路  3Comments