public static void SaveLibraryOptions(string path, LibraryOptions options) { lock (LibraryOptions) { LibraryOptions[path] = options; var clone = JsonSerializer.Deserialize <LibraryOptions>(JsonSerializer.SerializeToUtf8Bytes(options, _jsonOptions), _jsonOptions); foreach (var mediaPath in clone.PathInfos) { if (!string.IsNullOrEmpty(mediaPath.Path)) { mediaPath.Path = ApplicationHost.ReverseVirtualPath(mediaPath.Path); } } XmlSerializer.SerializeToFile(clone, GetLibraryOptionsPath(path)); } }