diff --git a/ConsoleInterface/ConsoleInterface.csproj b/ConsoleInterface/ConsoleInterface.csproj
index 6e3dcff..378d1d2 100644
--- a/ConsoleInterface/ConsoleInterface.csproj
+++ b/ConsoleInterface/ConsoleInterface.csproj
@@ -6,6 +6,7 @@
true
win-x64
true
+ exe
net5.0;netstandard2.1
7.3
diff --git a/ConsoleInterface/Program.cs b/ConsoleInterface/Program.cs
index b8696c9..56bbf5b 100644
--- a/ConsoleInterface/Program.cs
+++ b/ConsoleInterface/Program.cs
@@ -1,8 +1,5 @@
-using System.Collections.Generic;
-using System.IO;
-using CommandLine;
+using CommandLine;
using Image.Files;
-using Image.Output;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
@@ -12,16 +9,17 @@ using Microsoft.Extensions.Logging.Abstractions;
namespace ConsoleInterface
{
- internal static class Program
+ public static class Program
{
- private static readonly ILogger Logger = NullLogger.Instance;
+ private static ILoggerFactory _loggerFactory;
+ public static readonly ILogger Logger = NullLogger.Instance;
///
/// The console interface for the project and the main entrypoint.
///
/// Command line provided args.
// ReSharper disable once UnusedMember.Local
- private static void Main(IEnumerable args)
+ public static void Main(string[] args)
{
Parser.Default.ParseArguments(args).WithParsed(RunOptions);
}
@@ -31,11 +29,11 @@ namespace ConsoleInterface
///
private static void RunOptions(Options options)
{
- var loggerFactory = LoggerFactory.Create(b => b.AddConsole());
- TaskExecutor.Logger = loggerFactory.CreateLogger(nameof(TaskExecutor));
- LocalSystemFilesRetriever.Logger = loggerFactory.CreateLogger(nameof(LocalSystemFilesRetriever));
+ _loggerFactory = LoggerFactory.Create(b => b.AddConsole());
+ TaskExecutor.Logger = _loggerFactory.CreateLogger(nameof(TaskExecutor));
+ LocalSystemFilesRetriever.Logger = _loggerFactory.CreateLogger(nameof(LocalSystemFilesRetriever));
KeepFilenameFormatter.Logger =
- loggerFactory.CreateLogger(nameof(KeepFilenameFormatter));
+ _loggerFactory.CreateLogger(nameof(KeepFilenameFormatter));
CreateDestinationDirectory(options.DestinationDirectory);
var outputFormatter = KeepFilenameFormatter.Create(options.DestinationDirectory);
@@ -49,16 +47,18 @@ namespace ConsoleInterface
executor.ParallelCleanImages(filesRetriever.GetFilenamesFromPath(options.SourceDirectory));
}
-
+
///
/// Creates the directory if it doesn't exist.
///
/// The destination directory.
private static void CreateDestinationDirectory(string destinationDirectory)
{
- if (Directory.Exists(destinationDirectory)) return;
- Logger.LogWarning("Output directory does not exist. Creating.");
- Directory.CreateDirectory(destinationDirectory);
+ if (FileSystemHelpers.Logger == null)
+ {
+ FileSystemHelpers.Logger = _loggerFactory.CreateLogger(nameof(FileSystemHelpers));
+ }
+ FileSystemHelpers.CreateDestinationDirectory(destinationDirectory);
}
///
diff --git a/ConsoleInterface/TaskExecutor.cs b/ConsoleInterface/TaskExecutor.cs
index 9ed767f..3ba11a0 100644
--- a/ConsoleInterface/TaskExecutor.cs
+++ b/ConsoleInterface/TaskExecutor.cs
@@ -2,8 +2,7 @@
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
-using Image.Compressor;
-using Image.Remover;
+using Image.Core;
using ImageMagick;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
diff --git a/ConsoleInterface/TaskExecutorOptions.cs b/ConsoleInterface/TaskExecutorOptions.cs
index bc8432f..93f30ec 100644
--- a/ConsoleInterface/TaskExecutorOptions.cs
+++ b/ConsoleInterface/TaskExecutorOptions.cs
@@ -1,5 +1,5 @@
using System;
-using Image.Output;
+using Image.Files;
namespace ConsoleInterface
{
diff --git a/DesktopApplication/App.config b/DesktopApplication/App.config
deleted file mode 100644
index 193aecc..0000000
--- a/DesktopApplication/App.config
+++ /dev/null
@@ -1,6 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/DesktopApplication/App.xaml b/DesktopApplication/App.xaml
deleted file mode 100644
index da18e89..0000000
--- a/DesktopApplication/App.xaml
+++ /dev/null
@@ -1,9 +0,0 @@
-
-
-
-
-
diff --git a/DesktopApplication/App.xaml.cs b/DesktopApplication/App.xaml.cs
deleted file mode 100644
index 4479463..0000000
--- a/DesktopApplication/App.xaml.cs
+++ /dev/null
@@ -1,9 +0,0 @@
-namespace DesktopApplication
-{
- ///
- /// Interaction logic for App.xaml
- ///
- public partial class App
- {
- }
-}
\ No newline at end of file
diff --git a/DesktopApplication/DesktopApplication.csproj b/DesktopApplication/DesktopApplication.csproj
deleted file mode 100644
index 1d3cfdf..0000000
--- a/DesktopApplication/DesktopApplication.csproj
+++ /dev/null
@@ -1,90 +0,0 @@
-
-
-
-
- Debug
- AnyCPU
- {47866D0C-006D-4545-99F2-487614147EA0}
- WinExe
- DesktopApplication
- DesktopApplication
- v4.8
- 512
- {60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
- 4
- true
-
-
- AnyCPU
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
-
-
- AnyCPU
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
-
-
-
-
- 4.0
-
-
-
-
-
-
-
- MSBuild:Compile
- Designer
-
-
- MSBuild:Compile
- Designer
-
-
- App.xaml
- Code
-
-
- MainWindow.xaml
- Code
-
-
-
-
- Code
-
-
- True
- True
- Resources.resx
-
-
- ResXFileCodeGenerator
- Resources.Designer.cs
-
-
-
-
-
-
-
- {10ad7910-c8aa-43ed-9231-ebe267ac270f}
- ImageCore
-
-
-
-
\ No newline at end of file
diff --git a/DesktopApplication/MainWindow.xaml b/DesktopApplication/MainWindow.xaml
deleted file mode 100644
index ec17c57..0000000
--- a/DesktopApplication/MainWindow.xaml
+++ /dev/null
@@ -1,21 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/DesktopApplication/MainWindow.xaml.cs b/DesktopApplication/MainWindow.xaml.cs
deleted file mode 100644
index 56f2cb7..0000000
--- a/DesktopApplication/MainWindow.xaml.cs
+++ /dev/null
@@ -1,57 +0,0 @@
-using System;
-using System.Collections.Generic;
-using System.Windows;
-using System.Windows.Controls.Primitives;
-using System.Windows.Input;
-
-namespace DesktopApplication
-{
- ///
- /// Interaction logic for MainWindow.xaml
- ///
- public partial class MainWindow
- {
- public static readonly List files = new List();
- public MainWindow()
- {
- InitializeComponent();
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("adsd");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- files.Add("aaaaaxxx");
- PickedFilesView.ItemsSource = files;
- }
-
- private void PickFilesBtn_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine("PickFilesBtn_OnClick - On Click");
- }
-
- private void CleanFilesBtn_OnClick(object sender, RoutedEventArgs e)
- {
- Console.WriteLine("CleanFilesBtn_OnClick - On Click");
-
- }
- }
-}
\ No newline at end of file
diff --git a/DesktopApplication/Properties/AssemblyInfo.cs b/DesktopApplication/Properties/AssemblyInfo.cs
deleted file mode 100644
index c3db08f..0000000
--- a/DesktopApplication/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,55 +0,0 @@
-using System.Reflection;
-using System.Resources;
-using System.Runtime.CompilerServices;
-using System.Runtime.InteropServices;
-using System.Windows;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("DesktopApplication")]
-[assembly: AssemblyDescription("")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("")]
-[assembly: AssemblyProduct("DesktopApplication")]
-[assembly: AssemblyCopyright("Copyright © 2022")]
-[assembly: AssemblyTrademark("")]
-[assembly: AssemblyCulture("")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-//In order to begin building localizable applications, set
-//CultureYouAreCodingWith in your .csproj file
-//inside a . For example, if you are using US english
-//in your source files, set the to en-US. Then uncomment
-//the NeutralResourceLanguage attribute below. Update the "en-US" in
-//the line below to match the UICulture setting in the project file.
-
-//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
-
-
-[assembly: ThemeInfo(
- ResourceDictionaryLocation.None, //where theme specific resource dictionaries are located
- //(used if a resource is not found in the page,
- // or application resource dictionaries)
- ResourceDictionaryLocation.SourceAssembly //where the generic resource dictionary is located
- //(used if a resource is not found in the page,
- // app, or any theme specific resource dictionaries)
-)]
-
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.0.0.0")]
-[assembly: AssemblyFileVersion("1.0.0.0")]
\ No newline at end of file
diff --git a/DesktopApplication/Properties/Resources.Designer.cs b/DesktopApplication/Properties/Resources.Designer.cs
deleted file mode 100644
index 31ef75f..0000000
--- a/DesktopApplication/Properties/Resources.Designer.cs
+++ /dev/null
@@ -1,69 +0,0 @@
-//------------------------------------------------------------------------------
-//
-// This code was generated by a tool.
-// Runtime Version:4.0.30319.42000
-//
-// Changes to this file may cause incorrect behavior and will be lost if
-// the code is regenerated.
-//
-//------------------------------------------------------------------------------
-
-namespace DesktopApplication.Properties
-{
- ///
- /// A strongly-typed resource class, for looking up localized strings, etc.
- ///
- // This class was auto-generated by the StronglyTypedResourceBuilder
- // class via a tool like ResGen or Visual Studio.
- // To add or remove a member, edit your .ResX file then rerun ResGen
- // with the /str option, or rebuild your VS project.
- [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder",
- "4.0.0.0")]
- [global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
- [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
- internal class Resources
- {
- private static global::System.Resources.ResourceManager resourceMan;
-
- private static global::System.Globalization.CultureInfo resourceCulture;
-
- [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance",
- "CA1811:AvoidUncalledPrivateCode")]
- internal Resources()
- {
- }
-
- ///
- /// Returns the cached ResourceManager instance used by this class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState
- .Advanced)]
- internal static global::System.Resources.ResourceManager ResourceManager
- {
- get
- {
- if ((resourceMan == null))
- {
- global::System.Resources.ResourceManager temp =
- new global::System.Resources.ResourceManager("DesktopApplication.Properties.Resources",
- typeof(Resources).Assembly);
- resourceMan = temp;
- }
-
- return resourceMan;
- }
- }
-
- ///
- /// Overrides the current thread's CurrentUICulture property for all
- /// resource lookups using this strongly typed resource class.
- ///
- [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState
- .Advanced)]
- internal static global::System.Globalization.CultureInfo Culture
- {
- get { return resourceCulture; }
- set { resourceCulture = value; }
- }
- }
-}
\ No newline at end of file
diff --git a/DesktopApplication/Properties/Resources.resx b/DesktopApplication/Properties/Resources.resx
deleted file mode 100644
index af7dbeb..0000000
--- a/DesktopApplication/Properties/Resources.resx
+++ /dev/null
@@ -1,117 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
\ No newline at end of file
diff --git a/ImageCore.Tests/TestCompressor.cs b/ImageCore.Tests/TestCompressor.cs
index a82473e..94a7602 100644
--- a/ImageCore.Tests/TestCompressor.cs
+++ b/ImageCore.Tests/TestCompressor.cs
@@ -1,6 +1,6 @@
using System;
using System.IO;
-using Image.Compressor;
+using Image.Core;
using Xunit;
namespace ImageCore.Tests
diff --git a/ImageCore.Tests/TestKeepFilenameFormatter.cs b/ImageCore.Tests/TestKeepFilenameFormatter.cs
index 266d64f..8ca40e2 100644
--- a/ImageCore.Tests/TestKeepFilenameFormatter.cs
+++ b/ImageCore.Tests/TestKeepFilenameFormatter.cs
@@ -1,5 +1,5 @@
using System;
-using Image.Output;
+using Image.Files;
using Xunit;
namespace ImageCore.Tests
diff --git a/ImageCore.Tests/TestMetadataRemover.cs b/ImageCore.Tests/TestMetadataRemover.cs
index f0986e1..b36ae6a 100644
--- a/ImageCore.Tests/TestMetadataRemover.cs
+++ b/ImageCore.Tests/TestMetadataRemover.cs
@@ -1,5 +1,4 @@
-using Image.Compressor;
-using Image.Remover;
+using Image.Core;
using ImageMagick;
using Moq;
using Xunit;
diff --git a/ImageCore/Remover/ExifMetadataRemoverAndCompressor.cs b/ImageCore/Core/ExifMetadataRemoverAndCompressor.cs
similarity index 94%
rename from ImageCore/Remover/ExifMetadataRemoverAndCompressor.cs
rename to ImageCore/Core/ExifMetadataRemoverAndCompressor.cs
index 2b5a1c9..adf15dd 100644
--- a/ImageCore/Remover/ExifMetadataRemoverAndCompressor.cs
+++ b/ImageCore/Core/ExifMetadataRemoverAndCompressor.cs
@@ -1,7 +1,6 @@
-using Image.Compressor;
-using ImageMagick;
+using ImageMagick;
-namespace Image.Remover
+namespace Image.Core
{
///
/// MetadataRemover removes metadata from an image. The exif profile.
diff --git a/ImageCore/Compressor/ICompressor.cs b/ImageCore/Core/ICompressor.cs
similarity index 92%
rename from ImageCore/Compressor/ICompressor.cs
rename to ImageCore/Core/ICompressor.cs
index c72044e..1d6835f 100644
--- a/ImageCore/Compressor/ICompressor.cs
+++ b/ImageCore/Core/ICompressor.cs
@@ -1,4 +1,4 @@
-namespace Image.Compressor
+namespace Image.Core
{
///
/// ICompressor is an interface for implementing image compressors.
diff --git a/ImageCore/Remover/IMetadataRemover.cs b/ImageCore/Core/IMetadataRemover.cs
similarity index 93%
rename from ImageCore/Remover/IMetadataRemover.cs
rename to ImageCore/Core/IMetadataRemover.cs
index 4121692..ac27938 100644
--- a/ImageCore/Remover/IMetadataRemover.cs
+++ b/ImageCore/Core/IMetadataRemover.cs
@@ -1,4 +1,4 @@
-namespace Image.Remover
+namespace Image.Core
{
///
/// Interface for implementing metadata removers.
diff --git a/ImageCore/Compressor/LosslessCompressor.cs b/ImageCore/Core/LosslessCompressor.cs
similarity index 96%
rename from ImageCore/Compressor/LosslessCompressor.cs
rename to ImageCore/Core/LosslessCompressor.cs
index 740f84d..b8bb397 100644
--- a/ImageCore/Compressor/LosslessCompressor.cs
+++ b/ImageCore/Core/LosslessCompressor.cs
@@ -1,6 +1,6 @@
using ImageMagick;
-namespace Image.Compressor
+namespace Image.Core
{
///
/// LosslessCompressor compresses an image using lossless compression provided by ImageMagick.
diff --git a/ImageCore/Compressor/NullCompressor.cs b/ImageCore/Core/NullCompressor.cs
similarity index 92%
rename from ImageCore/Compressor/NullCompressor.cs
rename to ImageCore/Core/NullCompressor.cs
index 4045ab1..9d7545b 100644
--- a/ImageCore/Compressor/NullCompressor.cs
+++ b/ImageCore/Core/NullCompressor.cs
@@ -1,4 +1,4 @@
-namespace Image.Compressor
+namespace Image.Core
{
///
/// Does nothing. Using this Compressor will have no effect.
diff --git a/ImageCore/Files/FileSystemHelpers.cs b/ImageCore/Files/FileSystemHelpers.cs
new file mode 100644
index 0000000..a9abc45
--- /dev/null
+++ b/ImageCore/Files/FileSystemHelpers.cs
@@ -0,0 +1,31 @@
+using System;
+using System.IO;
+using Microsoft.Extensions.Logging;
+using Microsoft.Extensions.Logging.Abstractions;
+
+namespace Image.Files
+{
+ public static class FileSystemHelpers
+ {
+ public static ILogger Logger = NullLogger.Instance;
+
+ ///
+ /// Creates the directory if it doesn't exist.
+ ///
+ /// The destination directory.
+ public static void CreateDestinationDirectory(string destinationDirectory)
+ {
+#if NETSTANDARD2_1
+ Console.WriteLine("");
+#elif NETSTANDARD2_0
+ Console.WriteLine("");
+#elif NET5_0
+ if (Directory.Exists(destinationDirectory)) return;
+ //Logger.LogWarning("Output directory does not exist. Creating.");
+ Directory.CreateDirectory(destinationDirectory);
+#endif
+
+
+ }
+ }
+}
\ No newline at end of file
diff --git a/ImageCore/Output/IFileOutputFormatter.cs b/ImageCore/Files/IFileOutputFormatter.cs
similarity index 95%
rename from ImageCore/Output/IFileOutputFormatter.cs
rename to ImageCore/Files/IFileOutputFormatter.cs
index 353ce86..d912f47 100644
--- a/ImageCore/Output/IFileOutputFormatter.cs
+++ b/ImageCore/Files/IFileOutputFormatter.cs
@@ -1,4 +1,4 @@
-namespace Image.Output
+namespace Image.Files
{
///
/// IOutputFormatter is an interface for generating the output path and destination file name.
diff --git a/ImageCore/Output/KeepFilenameFormatter.cs b/ImageCore/Files/KeepFilenameFormatter.cs
similarity index 98%
rename from ImageCore/Output/KeepFilenameFormatter.cs
rename to ImageCore/Files/KeepFilenameFormatter.cs
index 3ca403a..ff6f36f 100644
--- a/ImageCore/Output/KeepFilenameFormatter.cs
+++ b/ImageCore/Files/KeepFilenameFormatter.cs
@@ -3,7 +3,7 @@ using Ardalis.GuardClauses;
using Microsoft.Extensions.Logging;
using Microsoft.Extensions.Logging.Abstractions;
-namespace Image.Output
+namespace Image.Files
{
///
/// KeepFilenameFormatter keeps the original file name of the image when formatting the new output
diff --git a/ImgMetadataRemover.sln b/ImgMetadataRemover.sln
index 98af448..2dce599 100644
--- a/ImgMetadataRemover.sln
+++ b/ImgMetadataRemover.sln
@@ -9,8 +9,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ConsoleInterface", "Console
EndProject
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ImageCore.Tests", "ImageCore.Tests\ImageCore.Tests.csproj", "{8EB81515-E62C-4408-84E0-6C27E0293902}"
EndProject
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DesktopApplication", "DesktopApplication\DesktopApplication.csproj", "{47866D0C-006D-4545-99F2-487614147EA0}"
-EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
@@ -85,26 +83,6 @@ Global
{8EB81515-E62C-4408-84E0-6C27E0293902}.Release|x64.Build.0 = Release|Any CPU
{8EB81515-E62C-4408-84E0-6C27E0293902}.Release|x86.ActiveCfg = Release|Any CPU
{8EB81515-E62C-4408-84E0-6C27E0293902}.Release|x86.Build.0 = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|ARM.Build.0 = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|ARM64.ActiveCfg = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|ARM64.Build.0 = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|x64.ActiveCfg = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|x64.Build.0 = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|x86.ActiveCfg = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Debug|x86.Build.0 = Debug|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|Any CPU.Build.0 = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|ARM.ActiveCfg = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|ARM.Build.0 = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|ARM64.ActiveCfg = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|ARM64.Build.0 = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|x64.ActiveCfg = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|x64.Build.0 = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|x86.ActiveCfg = Release|Any CPU
- {47866D0C-006D-4545-99F2-487614147EA0}.Release|x86.Build.0 = Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
diff --git a/ImgMetadataRemover.sln.DotSettings.user b/ImgMetadataRemover.sln.DotSettings.user
index f219feb..1c497a9 100644
--- a/ImgMetadataRemover.sln.DotSettings.user
+++ b/ImgMetadataRemover.sln.DotSettings.user
@@ -2,6 +2,7 @@
<AssemblyExplorer>
<Assembly Path="C:\Program Files\dotnet\packs\Microsoft.NETCore.App.Ref\3.1.0\ref\netcoreapp3.1\System.Net.Mail.dll" />
<Assembly Path="C:\Users\nutiu\.nuget\packages\magick.net.core\8.6.1\lib\netstandard21\Magick.NET.Core.dll" />
+ <Assembly Path="C:\Users\nutiu\.nuget\packages\microsoft.extensions.logging.abstractions\6.0.0\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll" />
</AssemblyExplorer>
<SessionState ContinuousTestingMode="0" IsActive="True" Name="TestGetFilenamesFromPath" xmlns="urn:schemas-jetbrains-com:jetbrains-ut-session">
<Project Location="C:\Users\nutiu\RiderProjects\ImgMetadataRemover\ImageCore.Tests" Presentation="<ImageCore.Tests>" />
diff --git a/global.json b/global.json
index bc5974a..4db6a48 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "3.1",
+ "version": "5.0",
"rollForward": "latestMajor",
"allowPrerelease": false
}