Project using Microsoft.NETCore.UniversalWindowsPlatform 6.2.9, targetting Windows10 v1903 (10.0, build 18362).
I've narrowed it down to a call to deserialize this JSON string using Newtonsoft.JSON:
{"jsonrpc": "2.0", "result": ["ElectrumX 1.10.1", "1.4"], "id": 0}
The code:
JsonConvert.DeserializeObject<T>(json, PascalCase2LowerCasePlusUnderscoreConversionSettings)
With PascalCase2LowerCasePlusUnderscoreConversionSettings being:
JsonSerializerSettings(ContractResolver = PascalCase2LowercasePlusUnderscoreContractResolver())
where PascalCase2LowercasePlusUnderscoreContractResolver is:
type private PascalCase2LowercasePlusUnderscoreContractResolver() =
inherit DefaultContractResolver()
// https://stackoverflow.com/a/20952003/544947
let pascalToUnderScoreRegex = Regex("((?<=.)[A-Z][a-zA-Z]*)|((?<=[a-zA-Z])\d+)", RegexOptions.Multiline)
let pascalToUnderScoreReplacementExpression = "_$1$2"
override __.ResolvePropertyName (propertyName: string) =
pascalToUnderScoreRegex.Replace(propertyName, pascalToUnderScoreReplacementExpression).ToLower()
And T being this record:
type ServerVersionResult =
{
Id: int;
Result: array<string>;
}
Result where you can see the whole stacktrace (sorry, I didn't manage to copy it to clipboard, VS keep throwing at exception when attempting to do it):

Project using Microsoft.NETCore.UniversalWindowsPlatform 6.2.9, targetting Windows10 v1903 (10.0, build 18362).
I've narrowed it down to a call to deserialize this JSON string using Newtonsoft.JSON:
The code:
With PascalCase2LowerCasePlusUnderscoreConversionSettings being:
where PascalCase2LowercasePlusUnderscoreContractResolver is:
And T being this record:
Result where you can see the whole stacktrace (sorry, I didn't manage to copy it to clipboard, VS keep throwing at exception when attempting to do it):