-
Notifications
You must be signed in to change notification settings - Fork 478
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Proposal - add netcoreapp3.0
multi target support and replace Newtonsoft.Json
#497
Comments
I've had a first crack at this
The other tests that are failing are I was also getting an error about 'Microsoft.NETCore.App', version '1.0.4' which is out of support and probably needs a look My fork and branch are here |
I've done a bit more work on this, I moved to .NET Core Preview 7 which had some breaking changes in the JSON API, so I fixed these up
|
Ok, so I went down the rabbit hole on this one. Looks like some of the older Events use a different pattern to the newer ones that have been added for example KinesisEvent vs KinesisFirehose. |
Thanks for looking into the new System.Text.Json NuGet package. It has been on my list of things to do but hadn't gotten around to it. In my head when I have been thinking about this I had imagined a new NuGet package based on System.Text.Json instead of trying to combine them into the same serializer. That way the new NuGet package wouldn't have any of the baggage of Newtonsoft.Json. It would still need to support all of the same Event serializers and I hadn't figured out how the naming would work. Doing it as a separate package gives consumers the choices of which serializers to use based on which dependency they add and serializer they registered. |
All good, after looking at this in more detail, I think this could use a wider discussion. Naming is a good point as there is a collision with the current namespace for the serializer. With regard to the supported AWS events, would it be worth seeing if this could be pushed up into the AWSSDK? The S3 Notification has some JSON parsing methods and this is using another different tool LitJson, could these be used as we are inheriting these classes |
Looks like Norm is working on this in #568 |
I know there has been some work done already to support .NET Core 3 runtime and issues with installing preview software in the build system, however, I would like to propose the following PR
With .NET Core 3.0 due for release in September 2019 and the LTS version 3.1 due in November 2019, I would like to propose a PR that will setup multi target support for .NET Core 3.0 and replace the current Newtonsoft library with the new System.Text.Json.
The .NET Team published an article a while back addressing the future of JSON in .NET Core 3.0, where they talk about removing the dependency on Json.NET and providing a high performance API.
I have built a proof with a basic scenario which showed an drop in total Lambda duration time, implementation is here.
Below is a list of core Libraries that need to be updated:
There are a number of tests and tools that are using various Newtonsoft versions, so would suggest we leave this alone in the first draft of the PR. The aim would be to multi target so this will not create a breaking change for people using an older version of the framework.
The text was updated successfully, but these errors were encountered: