diff --git a/ln.json/ln.json.csproj b/ln.json/ln.json.csproj index 4c37b94..c0b6510 100644 --- a/ln.json/ln.json.csproj +++ b/ln.json/ln.json.csproj @@ -9,7 +9,7 @@ true 0.1.0.0 0.1.0.0 - 1.2.2 + 1.2.3 net5.0;net6.0 diff --git a/ln.json/mapping/JSONMapper.cs b/ln.json/mapping/JSONMapper.cs index db06040..e42ea04 100644 --- a/ln.json/mapping/JSONMapper.cs +++ b/ln.json/mapping/JSONMapper.cs @@ -66,7 +66,13 @@ namespace ln.json.mapping Dictionary mappingFactories = new Dictionary(); public virtual void AddMappingFactory(Type targetType, MappingFactory mappingFactory) => mappingFactories.Add(targetType, mappingFactory); - public virtual bool GetOrBuildMapping(Type nativeType, out JSONMapping mapping) => TryGetMapping(nativeType, out mapping) || TryBuildRememberedMapping(nativeType, out mapping); + public virtual bool GetOrBuildMapping(Type nativeType, out JSONMapping mapping) + { + lock (mappings) + { + return TryGetMapping(nativeType, out mapping) || TryBuildRememberedMapping(nativeType, out mapping); + } + } public virtual bool TryBuildRememberedMapping(Type nativeType,out JSONMapping mapping) {