From 21d15989f5abe6d50529207df4df047c0e3f06ea Mon Sep 17 00:00:00 2001 From: BaronGreenback Date: Mon, 25 Jan 2021 17:34:11 +0000 Subject: [PATCH 1/2] 1 attempted fix --- MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs index e1be79a060..c1f5bfb255 100644 --- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs +++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs @@ -203,10 +203,10 @@ namespace MediaBrowser.XbmcMetadata.Savers var directory = Path.GetDirectoryName(path) ?? throw new ArgumentException($"Provided path ({path}) is not valid.", nameof(path)); Directory.CreateDirectory(directory); - // On Windows, savint the file will fail if the file is hidden or readonly + // On Windows, saving the file will fail if the file is hidden or readonly FileSystem.SetAttributes(path, false, false); - using (var filestream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.Read)) + using (var filestream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) { stream.CopyTo(filestream); } From 8d12e6d6eb98ee5f14a0ca30cb8ca824aa051155 Mon Sep 17 00:00:00 2001 From: BaronGreenback Date: Wed, 3 Feb 2021 10:42:17 +0000 Subject: [PATCH 2/2] Update BaseNfoSaver.cs --- MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs | 1 + 1 file changed, 1 insertion(+) diff --git a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs index c1f5bfb255..9f22e618ef 100644 --- a/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs +++ b/MediaBrowser.XbmcMetadata/Savers/BaseNfoSaver.cs @@ -206,6 +206,7 @@ namespace MediaBrowser.XbmcMetadata.Savers // On Windows, saving the file will fail if the file is hidden or readonly FileSystem.SetAttributes(path, false, false); + // use FileShare.None as this bypasses dotnet bug dotnet/runtime#42790 . using (var filestream = new FileStream(path, FileMode.Create, FileAccess.Write, FileShare.None)) { stream.CopyTo(filestream);