Ulid icon indicating copy to clipboard operation
Ulid copied to clipboard

Coupling of Ulid and System.Text.Json

Open manfred-brands opened this issue 1 year ago • 3 comments

Even though there is a separate Ulid.SystemTextJson project, containing the JsonConverter for Ulid. However the converter is already in the Ulid project which now has a hard-coded reference on System.Text.Json

I know it is convenient to have this attribute, but it is coupling.

Can this be decoupled? We have users on both NewtonSoft.Json and System.Text.Json and don't want to pull in the 2nd when using the 1st. We also have code using protobuf which should not pull in any Json package.

manfred-brands avatar Jul 23 '24 07:07 manfred-brands

I don't see a problem since there is no reference to an additional System.Text.Json, what is your concern? https://github.com/Cysharp/Ulid/blob/master/src/Ulid/Ulid.csproj

neuecc avatar Jul 23 '24 08:07 neuecc

I was equally confused by that, but ILSpy shows that dependency. Also the JsonConverter wouldn't compile without that reference.

manfred-brands avatar Jul 23 '24 12:07 manfred-brands

I don't think it exists in NuGet's dependencies either. https://www.nuget.org/packages/Ulid#dependencies-body-tab Of course, the new .NET has System.Text.Json in corelib, so it is referenced by default. The Ulid.SystemTextJson project exists as a package to support environments where System.Text.Json does not exist in the standard, such as netstandard 2.0.

neuecc avatar Jul 24 '24 00:07 neuecc

This issue is stale because it has been open 180 days with no activity. Remove stale label or comment or this will be closed in 30 days.

github-actions[bot] avatar Jan 21 '25 00:01 github-actions[bot]