Open manfred-brands opened 3 months ago
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
I was equally confused by that, but ILSpy shows that dependency. Also the JsonConverter wouldn't compile without that reference.
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.
Even though there is a separate
Ulid.SystemTextJson
project, containing theJsonConverter
forUlid
. However the converter is already in the Ulid project which now has a hard-coded reference onSystem.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
andSystem.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.