Clone JsonSerializerOptions before passing to context

This commit is contained in:
2022-11-01 22:15:16 +01:00
committed by Ádám Kovács
parent 4c8430d0dc
commit 8e5ddf84ab
2 changed files with 3 additions and 3 deletions

View File

@@ -17,6 +17,6 @@ public class JsonConfigurationFileReader : IConfigurationFileReader
if (!File.Exists(fileName)) return (null, null); if (!File.Exists(fileName)) return (null, null);
await using FileStream openStream = File.OpenRead(fileName); await using FileStream openStream = File.OpenRead(fileName);
return ((T?)await JsonSerializer.DeserializeAsync(openStream, typeof(T), contextGenerator(DefaultOptions)), fileName); return ((T?)await JsonSerializer.DeserializeAsync(openStream, typeof(T), contextGenerator(new JsonSerializerOptions(DefaultOptions))), fileName);
} }
} }

View File

@@ -17,12 +17,12 @@ public class ModuleConfigurationResolver : IModuleConfigurationResolver
public async Task<(ModuleConfiguration? mergedModuleConfig, string? moduleConfigFileName)> ResolveModuleConfiguration(string moduleConfigStub) public async Task<(ModuleConfiguration? mergedModuleConfig, string? moduleConfigFileName)> ResolveModuleConfiguration(string moduleConfigStub)
{ {
(ModuleConfigurationRoot? moduleConfigRoot, string? moduleConfigFileName) = await _configurationFileReader.DeserializeAsync<ModuleConfigurationRoot>(moduleConfigStub, (o )=> new JsonSourceGenerationContext(o)); (ModuleConfigurationRoot? moduleConfigRoot, string? moduleConfigFileName) = await _configurationFileReader.DeserializeAsync<ModuleConfigurationRoot>(moduleConfigStub, (o) => new JsonSourceGenerationContext(o));
if (moduleConfigRoot is null) return (null, null); if (moduleConfigRoot is null) return (null, null);
var validModuleConfigurations = moduleConfigRoot.Where(m => _osInformation.IsOnPlatform(m.Key)); var validModuleConfigurations = moduleConfigRoot.Where(m => _osInformation.IsOnPlatform(m.Key));
//TODO: priority order //TODO: priority order
var orderedValidModuleConfigurations = new Dictionary<string, ModuleConfiguration>(validModuleConfigurations); var orderedValidModuleConfigurations = new Dictionary<string, ModuleConfiguration>(validModuleConfigurations);