diff --git a/src/PboViewer CLI/PboViewer CLI.csproj b/src/PboViewer CLI/PboViewer CLI.csproj
index 54d73c2..9aa1432 100644
--- a/src/PboViewer CLI/PboViewer CLI.csproj
+++ b/src/PboViewer CLI/PboViewer CLI.csproj
@@ -2,7 +2,7 @@
Exe
- netcoreapp3.1
+ net5.0
PboViewer
PboViewer
diff --git a/src/PboViewer CLI/build.ps1 b/src/PboViewer CLI/build.ps1
index 6786098..b228d46 100644
--- a/src/PboViewer CLI/build.ps1
+++ b/src/PboViewer CLI/build.ps1
@@ -1,5 +1,4 @@
$directory = [System.IO.Path]::GetDirectoryName($MyInvocation.MyCommand.Definition)
dotnet publish -c Release -o $directory/publish/windows --self-contained -r win-x64
dotnet publish -c Release -o $directory/publish/macos --self-contained -r osx-x64
-dotnet publish -c Release -o $directory/publish/debian --self-contained -r debian-x64
-dotnet publish -c Release -o $directory/publish/ubuntu --self-contained -r ubuntu-x64
\ No newline at end of file
+dotnet publish -c Release -o $directory/publish/linux --self-contained -r linux-x64
\ No newline at end of file
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/src/PboViewer CLI/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
similarity index 66%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
rename to src/PboViewer CLI/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
index ad8dfe1..2f7e5ec 100644
--- a/src/PboViewer GUI/obj/Release/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
+++ b/src/PboViewer CLI/obj/Debug/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
//
using System;
using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")]
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.AssemblyInfo.cs b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.AssemblyInfo.cs
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.AssemblyInfo.cs
rename to src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.AssemblyInfo.cs
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.AssemblyInfoInputs.cache b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.AssemblyInfoInputs.cache
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.AssemblyInfoInputs.cache
rename to src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.AssemblyInfoInputs.cache
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..d7e2983
--- /dev/null
+++ b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,8 @@
+is_global = true
+build_property.TargetFramework = net5.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.PublishSingleFile =
+build_property.IncludeAllContentForSelfExtract =
+build_property._SupportedPlatformList = Android,iOS,Linux,macOS,Windows
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.assets.cache b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.assets.cache
new file mode 100644
index 0000000..3ca13a1
Binary files /dev/null and b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.assets.cache differ
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboMaker.csproj.CopyComplete b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.CopyComplete
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboMaker.csproj.CopyComplete
rename to src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.CopyComplete
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..c2cbe53
--- /dev/null
+++ b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+5b83118e10a8edd38dcbf67894c3525d36aa4940
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..cd1358a
--- /dev/null
+++ b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt
@@ -0,0 +1,19 @@
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.exe
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.deps.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.runtimeconfig.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.runtimeconfig.dev.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\ref\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\PboViewer.pdb
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\ManyConsole.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Debug\net5.0\Mono.Options.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.csprojAssemblyReference.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.AssemblyInfoInputs.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.AssemblyInfo.cs
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.csproj.CoreCompileInputs.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.csproj.CopyComplete
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\ref\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer.pdb
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Debug\net5.0\PboViewer CLI.genruntimeconfig.cache
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboMaker.csprojAssemblyReference.cache b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csprojAssemblyReference.cache
similarity index 84%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboMaker.csprojAssemblyReference.cache
rename to src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csprojAssemblyReference.cache
index f589259..07eac77 100644
Binary files a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboMaker.csprojAssemblyReference.cache and b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.csprojAssemblyReference.cache differ
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.genruntimeconfig.cache b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.genruntimeconfig.cache
new file mode 100644
index 0000000..def35c7
--- /dev/null
+++ b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer CLI.genruntimeconfig.cache
@@ -0,0 +1 @@
+7feef68eaf3f66e762d3e8048b5767ea932e1f86
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.dll b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.dll
new file mode 100644
index 0000000..ec5172f
Binary files /dev/null and b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.pdb b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.pdb
new file mode 100644
index 0000000..d7fc096
Binary files /dev/null and b/src/PboViewer CLI/obj/Debug/net5.0/PboViewer.pdb differ
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/apphost.exe b/src/PboViewer CLI/obj/Debug/net5.0/apphost.exe
new file mode 100644
index 0000000..0a3d5e2
Binary files /dev/null and b/src/PboViewer CLI/obj/Debug/net5.0/apphost.exe differ
diff --git a/src/PboViewer CLI/obj/Debug/net5.0/ref/PboViewer.dll b/src/PboViewer CLI/obj/Debug/net5.0/ref/PboViewer.dll
new file mode 100644
index 0000000..368b58d
Binary files /dev/null and b/src/PboViewer CLI/obj/Debug/net5.0/ref/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.assets.cache b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.assets.cache
index 7a9db85..271f694 100644
Binary files a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.assets.cache and b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.assets.cache differ
diff --git a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache
index f2752eb..8e0456b 100644
Binary files a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache and b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache differ
diff --git a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/apphost.exe b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/apphost.exe
index 70f0e44..36513a0 100644
Binary files a/src/PboViewer CLI/obj/Debug/netcoreapp3.1/apphost.exe and b/src/PboViewer CLI/obj/Debug/netcoreapp3.1/apphost.exe differ
diff --git a/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.dgspec.json b/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.dgspec.json
index d85abbe..6f60096 100644
--- a/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.dgspec.json
+++ b/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.dgspec.json
@@ -1,20 +1,20 @@
{
"format": 1,
"restore": {
- "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj": {}
+ "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj": {}
},
"projects": {
- "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj": {
+ "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
+ "projectUniqueName": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
"projectName": "PboViewer",
- "projectPath": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
+ "projectPath": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
"packagesPath": "C:\\Users\\tcroi\\.nuget\\packages\\",
- "outputPath": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\obj\\",
+ "outputPath": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
- "E:\\Microsoft\\Xamarin\\NuGet\\",
+ "G:\\Logiciels\\Microsoft\\Xamarin\\NuGet",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
@@ -23,15 +23,15 @@
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
],
"originalTargetFrameworks": [
- "netcoreapp3.1"
+ "net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
- "netcoreapp3.1": {
- "targetAlias": "netcoreapp3.1",
+ "net5.0": {
+ "targetAlias": "net5.0",
"projectReferences": {}
}
},
@@ -42,8 +42,8 @@
}
},
"frameworks": {
- "netcoreapp3.1": {
- "targetAlias": "netcoreapp3.1",
+ "net5.0": {
+ "targetAlias": "net5.0",
"dependencies": {
"ManyConsole": {
"target": "Package",
@@ -65,7 +65,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.100\\RuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.103\\RuntimeIdentifierGraph.json"
}
}
}
diff --git a/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.g.props b/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.g.props
index c2863d8..4c4ce9e 100644
--- a/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.g.props
+++ b/src/PboViewer CLI/obj/PboViewer CLI.csproj.nuget.g.props
@@ -5,9 +5,9 @@
NuGet
$(MSBuildThisFileDirectory)project.assets.json
$(UserProfile)\.nuget\packages\
- C:\Users\tcroi\.nuget\packages\;E:\Microsoft\Xamarin\NuGet\;C:\Program Files\dotnet\sdk\NuGetFallbackFolder
+ C:\Users\tcroi\.nuget\packages\;G:\Logiciels\Microsoft\Xamarin\NuGet;C:\Program Files\dotnet\sdk\NuGetFallbackFolder
PackageReference
- 5.8.0
+ 5.8.1
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/src/PboViewer CLI/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
similarity index 66%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
rename to src/PboViewer CLI/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
index ad8dfe1..2f7e5ec 100644
--- a/src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
+++ b/src/PboViewer CLI/obj/Release/net5.0/.NETCoreApp,Version=v5.0.AssemblyAttributes.cs
@@ -1,4 +1,4 @@
//
using System;
using System.Reflection;
-[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v3.1", FrameworkDisplayName = "")]
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v5.0", FrameworkDisplayName = "")]
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer GUI.AssemblyInfo.cs b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.AssemblyInfo.cs
similarity index 100%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer GUI.AssemblyInfo.cs
rename to src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.AssemblyInfo.cs
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer GUI.AssemblyInfoInputs.cache b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.AssemblyInfoInputs.cache
similarity index 100%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer GUI.AssemblyInfoInputs.cache
rename to src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.AssemblyInfoInputs.cache
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
new file mode 100644
index 0000000..d7e2983
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
@@ -0,0 +1,8 @@
+is_global = true
+build_property.TargetFramework = net5.0
+build_property.TargetPlatformMinVersion =
+build_property.UsingMicrosoftNETSdkWeb =
+build_property.ProjectTypeGuids =
+build_property.PublishSingleFile =
+build_property.IncludeAllContentForSelfExtract =
+build_property._SupportedPlatformList = Android,iOS,Linux,macOS,Windows
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.assets.cache b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.assets.cache
new file mode 100644
index 0000000..3014525
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.assets.cache differ
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.csproj.CopyComplete b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.CopyComplete
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer GUI.csproj.CopyComplete
rename to src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.CopyComplete
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..866d14e
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+f9cd86f5dad7f0a637686871e4a1a99acdee7a22
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..1a91058
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csproj.FileListAbsolute.txt
@@ -0,0 +1,19 @@
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.exe
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.deps.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.runtimeconfig.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.runtimeconfig.dev.json
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\ref\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\PboViewer.pdb
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\ManyConsole.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\net5.0\Mono.Options.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.csprojAssemblyReference.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.GeneratedMSBuildEditorConfig.editorconfig
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.AssemblyInfoInputs.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.AssemblyInfo.cs
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.csproj.CoreCompileInputs.cache
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.csproj.CopyComplete
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\ref\PboViewer.dll
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer.pdb
+G:\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\net5.0\PboViewer CLI.genruntimeconfig.cache
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer.csprojAssemblyReference.cache b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csprojAssemblyReference.cache
similarity index 73%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer.csprojAssemblyReference.cache
rename to src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csprojAssemblyReference.cache
index 8586a25..07eac77 100644
Binary files a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer.csprojAssemblyReference.cache and b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.csprojAssemblyReference.cache differ
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.genruntimeconfig.cache b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.genruntimeconfig.cache
new file mode 100644
index 0000000..def35c7
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/net5.0/PboViewer CLI.genruntimeconfig.cache
@@ -0,0 +1 @@
+7feef68eaf3f66e762d3e8048b5767ea932e1f86
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer.dll b/src/PboViewer CLI/obj/Release/net5.0/PboViewer.dll
new file mode 100644
index 0000000..5d2c28c
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/net5.0/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Release/net5.0/PboViewer.pdb b/src/PboViewer CLI/obj/Release/net5.0/PboViewer.pdb
new file mode 100644
index 0000000..b3baa1f
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/net5.0/PboViewer.pdb differ
diff --git a/src/PboViewer CLI/obj/Release/net5.0/apphost.exe b/src/PboViewer CLI/obj/Release/net5.0/apphost.exe
new file mode 100644
index 0000000..0a3d5e2
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/net5.0/apphost.exe differ
diff --git a/src/PboViewer CLI/obj/Release/net5.0/ref/PboViewer.dll b/src/PboViewer CLI/obj/Release/net5.0/ref/PboViewer.dll
new file mode 100644
index 0000000..4f6b3c9
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/net5.0/ref/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.assets.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.assets.cache
index 56b1a9f..d615336 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.assets.cache and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.assets.cache differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache
index e331438..94fe9a6 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/PboViewer CLI.csprojAssemblyReference.cache differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/apphost.exe b/src/PboViewer CLI/obj/Release/netcoreapp3.1/apphost.exe
index 70f0e44..36513a0 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/apphost.exe and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/apphost.exe differ
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
rename to src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/.NETCoreApp,Version=v3.1.AssemblyAttributes.cs
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/PboViewer GUI.AssemblyInfo.cs b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.AssemblyInfo.cs
similarity index 100%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/PboViewer GUI.AssemblyInfo.cs
rename to src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.AssemblyInfo.cs
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer.AssemblyInfoInputs.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.AssemblyInfoInputs.cache
similarity index 100%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/PboViewer.AssemblyInfoInputs.cache
rename to src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.AssemblyInfoInputs.cache
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.assets.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.assets.cache
new file mode 100644
index 0000000..799f942
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.assets.cache differ
diff --git a/src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer.csproj.CopyComplete b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.CopyComplete
similarity index 100%
rename from src/PboViewer GUI/obj/Debug/netcoreapp3.1/PboViewer.csproj.CopyComplete
rename to src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.CopyComplete
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.CoreCompileInputs.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..6d8c082
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+f124960e2589ab06b4821dab20ee336856f84f65
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.FileListAbsolute.txt b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..09ce866
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csproj.FileListAbsolute.txt
@@ -0,0 +1,202 @@
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer.deps.json
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer.runtimeconfig.json
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer.runtimeconfig.dev.json
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\PboViewer.pdb
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\ManyConsole.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Mono.Options.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Microsoft.CSharp.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Microsoft.VisualBasic.Core.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Microsoft.VisualBasic.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Microsoft.Win32.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\Microsoft.Win32.Registry.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.AppContext.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Buffers.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Collections.Concurrent.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Collections.Immutable.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Collections.NonGeneric.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Collections.Specialized.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Collections.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.Annotations.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.DataAnnotations.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.EventBasedAsync.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.TypeConverter.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ComponentModel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Configuration.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Console.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Core.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Data.Common.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Data.DataSetExtensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Data.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.Contracts.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.Debug.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.DiagnosticSource.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.FileVersionInfo.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.Process.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.StackTrace.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.TextWriterTraceListener.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.Tools.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.TraceSource.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Diagnostics.Tracing.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Drawing.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Drawing.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Dynamic.Runtime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Globalization.Calendars.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Globalization.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Globalization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.Brotli.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.FileSystem.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.ZipFile.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.FileSystem.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.FileSystem.DriveInfo.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.FileSystem.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.FileSystem.Watcher.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.FileSystem.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.IsolatedStorage.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.MemoryMappedFiles.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Pipes.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Pipes.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.UnmanagedMemoryStream.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Linq.Expressions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Linq.Parallel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Linq.Queryable.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Memory.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Http.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.HttpListener.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Mail.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.NameResolution.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.NetworkInformation.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Ping.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Requests.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Security.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.ServicePoint.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Sockets.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.WebClient.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.WebHeaderCollection.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.WebProxy.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.WebSockets.Client.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.WebSockets.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Numerics.Vectors.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Numerics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ObjectModel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Private.DataContractSerialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Private.Uri.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Private.Xml.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Private.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.DispatchProxy.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Emit.ILGeneration.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Emit.Lightweight.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Emit.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Metadata.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.TypeExtensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Reflection.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Resources.Reader.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Resources.ResourceManager.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Resources.Writer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.CompilerServices.Unsafe.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.CompilerServices.VisualC.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Handles.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.InteropServices.RuntimeInformation.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.InteropServices.WindowsRuntime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.InteropServices.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Intrinsics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Loader.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Numerics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Serialization.Formatters.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Serialization.Json.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Serialization.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Serialization.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.Serialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.WindowsRuntime.UI.Xaml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.WindowsRuntime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Runtime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Claims.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Algorithms.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Cng.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Csp.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Encoding.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.OpenSsl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.X509Certificates.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Principal.Windows.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Principal.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.SecureString.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ServiceModel.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ServiceProcess.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.Encoding.CodePages.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.Encoding.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.Encoding.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.Encodings.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.Json.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Text.RegularExpressions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Channels.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Overlapped.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Tasks.Dataflow.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Tasks.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Tasks.Parallel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Tasks.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Thread.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.ThreadPool.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.Timer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Threading.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Transactions.Local.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Transactions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.ValueTuple.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Web.HttpUtility.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Windows.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.ReaderWriter.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.Serialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.XDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.XPath.XDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.XPath.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.XmlDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.XmlSerializer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\WindowsBase.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\mscorlib.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\netstandard.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\SOS_README.md
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Globalization.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.IO.Compression.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Http.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Http.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Security.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Net.Security.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Private.CoreLib.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Native.OpenSsl.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\System.Security.Cryptography.Native.OpenSsl.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\createdump
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libclrjit.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libcoreclr.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libcoreclrtraceptprovider.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libdbgshim.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libhostfxr.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libhostpolicy.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libmscordaccore.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\bin\Release\netcoreapp3.1\linux-x64\libmscordbi.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.csprojAssemblyReference.cache
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.AssemblyInfoInputs.cache
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.AssemblyInfo.cs
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.csproj.CoreCompileInputs.cache
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.csproj.CopyComplete
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer.pdb
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\obj\Release\netcoreapp3.1\linux-x64\PboViewer CLI.genruntimeconfig.cache
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csprojAssemblyReference.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csprojAssemblyReference.cache
new file mode 100644
index 0000000..25bbde9
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.csprojAssemblyReference.cache differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.genruntimeconfig.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.genruntimeconfig.cache
new file mode 100644
index 0000000..4d9cfc7
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer CLI.genruntimeconfig.cache
@@ -0,0 +1 @@
+9ad712c797c8ef7db193ec8272415bcd49f251e1
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.dll b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.dll
new file mode 100644
index 0000000..45b1e31
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.pdb b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.pdb
new file mode 100644
index 0000000..d902684
Binary files /dev/null and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PboViewer.pdb differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PublishOutputs.e9e8d00afa.txt b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PublishOutputs.e9e8d00afa.txt
new file mode 100644
index 0000000..5dc2a70
--- /dev/null
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/PublishOutputs.e9e8d00afa.txt
@@ -0,0 +1,193 @@
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\PboViewer
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\PboViewer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\PboViewer.deps.json
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\PboViewer.runtimeconfig.json
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\PboViewer.pdb
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Microsoft.CSharp.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Microsoft.VisualBasic.Core.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Microsoft.VisualBasic.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Microsoft.Win32.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Microsoft.Win32.Registry.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.AppContext.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Buffers.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Collections.Concurrent.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Collections.Immutable.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Collections.NonGeneric.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Collections.Specialized.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Collections.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.Annotations.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.DataAnnotations.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.EventBasedAsync.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.TypeConverter.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ComponentModel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Configuration.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Console.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Core.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Data.Common.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Data.DataSetExtensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Data.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.Contracts.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.Debug.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.DiagnosticSource.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.FileVersionInfo.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.Process.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.StackTrace.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.TextWriterTraceListener.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.Tools.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.TraceSource.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Diagnostics.Tracing.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Drawing.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Drawing.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Dynamic.Runtime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Globalization.Calendars.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Globalization.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Globalization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.Brotli.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.FileSystem.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.ZipFile.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.FileSystem.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.FileSystem.DriveInfo.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.FileSystem.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.FileSystem.Watcher.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.FileSystem.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.IsolatedStorage.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.MemoryMappedFiles.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Pipes.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Pipes.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.UnmanagedMemoryStream.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Linq.Expressions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Linq.Parallel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Linq.Queryable.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Memory.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Http.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.HttpListener.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Mail.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.NameResolution.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.NetworkInformation.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Ping.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Requests.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Security.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.ServicePoint.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Sockets.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.WebClient.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.WebHeaderCollection.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.WebProxy.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.WebSockets.Client.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.WebSockets.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Numerics.Vectors.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Numerics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ObjectModel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Private.DataContractSerialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Private.Uri.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Private.Xml.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Private.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.DispatchProxy.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Emit.ILGeneration.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Emit.Lightweight.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Emit.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Metadata.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.TypeExtensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Reflection.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Resources.Reader.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Resources.ResourceManager.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Resources.Writer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.CompilerServices.Unsafe.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.CompilerServices.VisualC.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Handles.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.InteropServices.RuntimeInformation.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.InteropServices.WindowsRuntime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.InteropServices.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Intrinsics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Loader.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Numerics.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Serialization.Formatters.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Serialization.Json.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Serialization.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Serialization.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.Serialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.WindowsRuntime.UI.Xaml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.WindowsRuntime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Runtime.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.AccessControl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Claims.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Algorithms.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Cng.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Csp.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Encoding.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.OpenSsl.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Primitives.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.X509Certificates.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Principal.Windows.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Principal.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.SecureString.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ServiceModel.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ServiceProcess.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.Encoding.CodePages.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.Encoding.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.Encoding.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.Encodings.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.Json.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Text.RegularExpressions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Channels.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Overlapped.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Tasks.Dataflow.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Tasks.Extensions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Tasks.Parallel.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Tasks.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Thread.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.ThreadPool.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.Timer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Threading.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Transactions.Local.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Transactions.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.ValueTuple.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Web.HttpUtility.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Web.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Windows.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.Linq.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.ReaderWriter.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.Serialization.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.XDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.XPath.XDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.XPath.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.XmlDocument.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.XmlSerializer.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Xml.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\WindowsBase.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\mscorlib.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\netstandard.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\SOS_README.md
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Globalization.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.IO.Compression.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Http.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Http.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Security.Native.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Net.Security.Native.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Private.CoreLib.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Native.OpenSsl.a
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\System.Security.Cryptography.Native.OpenSsl.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\createdump
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libclrjit.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libcoreclr.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libcoreclrtraceptprovider.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libdbgshim.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libhostfxr.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libhostpolicy.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libmscordaccore.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\libmscordbi.so
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\ManyConsole.dll
+D:\Developpement\source\c#\avalonia\PboViewer\PboViewer CLI\publish\linux\Mono.Options.dll
diff --git a/src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/apphost b/src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/apphost
similarity index 100%
rename from src/PboViewer GUI/obj/Release/netcoreapp3.1/debian-x64/apphost
rename to src/PboViewer CLI/obj/Release/netcoreapp3.1/linux-x64/apphost
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer CLI.csproj.CoreCompileInputs.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
index 2d5c3f1..0c0feae 100644
--- a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-bd5c24ff244d85a6743514cb333ef38cafe4bbeb
+e921970526ba041c690c7ea1cadc7379eef42406
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.dll b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.dll
index 80fb610..3d6fa8a 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.dll and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.pdb b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.pdb
index 0d56615..a531a5d 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.pdb and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/osx-x64/PboViewer.pdb differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer CLI.csproj.CoreCompileInputs.cache b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
index fe04ffe..57f2237 100644
--- a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
+++ b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer CLI.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-cc1d1e73578c034b60ae102a7b2bd54f5f2fcd78
+7be361f0b80d3368cc301489019c33eeace069bc
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.dll b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.dll
index 6e69765..cbb046d 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.dll and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.dll differ
diff --git a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.pdb b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.pdb
index bc999c1..6e22b01 100644
Binary files a/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.pdb and b/src/PboViewer CLI/obj/Release/netcoreapp3.1/win-x64/PboViewer.pdb differ
diff --git a/src/PboViewer CLI/obj/project.assets.json b/src/PboViewer CLI/obj/project.assets.json
index ef34459..b2901e4 100644
--- a/src/PboViewer CLI/obj/project.assets.json
+++ b/src/PboViewer CLI/obj/project.assets.json
@@ -1,7 +1,7 @@
{
"version": 3,
"targets": {
- ".NETCoreApp,Version=v3.1": {
+ "net5.0": {
"ManyConsole/2.0.1": {
"type": "package",
"dependencies": {
@@ -63,26 +63,26 @@
}
},
"projectFileDependencyGroups": {
- ".NETCoreApp,Version=v3.1": [
+ "net5.0": [
"ManyConsole >= 2.0.1"
]
},
"packageFolders": {
"C:\\Users\\tcroi\\.nuget\\packages\\": {},
- "E:\\Microsoft\\Xamarin\\NuGet\\": {},
+ "G:\\Logiciels\\Microsoft\\Xamarin\\NuGet": {},
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder": {}
},
"project": {
"version": "1.0.0",
"restore": {
- "projectUniqueName": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
+ "projectUniqueName": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
"projectName": "PboViewer",
- "projectPath": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
+ "projectPath": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
"packagesPath": "C:\\Users\\tcroi\\.nuget\\packages\\",
- "outputPath": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\obj\\",
+ "outputPath": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\obj\\",
"projectStyle": "PackageReference",
"fallbackFolders": [
- "E:\\Microsoft\\Xamarin\\NuGet\\",
+ "G:\\Logiciels\\Microsoft\\Xamarin\\NuGet",
"C:\\Program Files\\dotnet\\sdk\\NuGetFallbackFolder"
],
"configFilePaths": [
@@ -91,15 +91,15 @@
"C:\\Program Files (x86)\\NuGet\\Config\\Xamarin.Offline.config"
],
"originalTargetFrameworks": [
- "netcoreapp3.1"
+ "net5.0"
],
"sources": {
"C:\\Program Files (x86)\\Microsoft SDKs\\NuGetPackages\\": {},
"https://api.nuget.org/v3/index.json": {}
},
"frameworks": {
- "netcoreapp3.1": {
- "targetAlias": "netcoreapp3.1",
+ "net5.0": {
+ "targetAlias": "net5.0",
"projectReferences": {}
}
},
@@ -110,8 +110,8 @@
}
},
"frameworks": {
- "netcoreapp3.1": {
- "targetAlias": "netcoreapp3.1",
+ "net5.0": {
+ "targetAlias": "net5.0",
"dependencies": {
"ManyConsole": {
"target": "Package",
@@ -133,7 +133,7 @@
"privateAssets": "all"
}
},
- "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.100\\RuntimeIdentifierGraph.json"
+ "runtimeIdentifierGraphPath": "C:\\Program Files\\dotnet\\sdk\\5.0.103\\RuntimeIdentifierGraph.json"
}
}
}
diff --git a/src/PboViewer CLI/obj/project.nuget.cache b/src/PboViewer CLI/obj/project.nuget.cache
index aefbc04..08166ed 100644
--- a/src/PboViewer CLI/obj/project.nuget.cache
+++ b/src/PboViewer CLI/obj/project.nuget.cache
@@ -1,8 +1,8 @@
{
"version": 2,
- "dgSpecHash": "bhIR2wYDb5g7o9/XR/v1ZSS221apiju6P9cu7ZW1am0n8e26cVi1SuE+4Krdg+CmO4aROmRjte7bwNsW70+Z6g==",
+ "dgSpecHash": "5lLsMXy9lqTUtjIKNcVlT+sCJTTuuVjgdg23E6WfMII4eq9BVSsuYv6mus+c6nLaor8Tt0kz4uuAGj+Q4/Q2CQ==",
"success": true,
- "projectFilePath": "D:\\Developpement\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
+ "projectFilePath": "G:\\source\\c#\\avalonia\\PboViewer\\PboViewer CLI\\PboViewer CLI.csproj",
"expectedPackageFiles": [
"C:\\Users\\tcroi\\.nuget\\packages\\manyconsole\\2.0.1\\manyconsole.2.0.1.nupkg.sha512",
"C:\\Users\\tcroi\\.nuget\\packages\\mono.options\\5.3.0\\mono.options.5.3.0.nupkg.sha512"
diff --git a/src/PboViewer GUI/App.axaml b/src/PboViewer GUI/App.axaml
deleted file mode 100644
index 2b6d1a0..0000000
--- a/src/PboViewer GUI/App.axaml
+++ /dev/null
@@ -1,14 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/PboViewer GUI/App.xaml b/src/PboViewer GUI/App.xaml
new file mode 100644
index 0000000..ee1d4e0
--- /dev/null
+++ b/src/PboViewer GUI/App.xaml
@@ -0,0 +1,10 @@
+
+
+
+
+
+
+
+
diff --git a/src/PboViewer GUI/App.axaml.cs b/src/PboViewer GUI/App.xaml.cs
similarity index 95%
rename from src/PboViewer GUI/App.axaml.cs
rename to src/PboViewer GUI/App.xaml.cs
index 9928602..7e74a40 100644
--- a/src/PboViewer GUI/App.axaml.cs
+++ b/src/PboViewer GUI/App.xaml.cs
@@ -1,6 +1,7 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
using Avalonia.Markup.Xaml;
+using PboViewer.Windows;
namespace PboViewer
{
diff --git a/src/PboViewer GUI/Core/Commands.cs b/src/PboViewer GUI/Core/Commands.cs
new file mode 100644
index 0000000..88c37c0
--- /dev/null
+++ b/src/PboViewer GUI/Core/Commands.cs
@@ -0,0 +1,294 @@
+using Avalonia.Controls;
+using Avalonia.Controls.ApplicationLifetimes;
+using PBOSharp;
+using PboViewer.ViewModels;
+using PboViewer.Views;
+using PboViewer.Windows;
+using System;
+using System.Collections.Generic;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Runtime.InteropServices;
+using System.Security.Cryptography;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PboViewer.Core
+{
+ public class Commands
+ {
+ ///
+ /// Add a file to the PBO
+ ///
+ ///
+ /// Path to add the files
+ public static async Task AddFile(string currentPath)
+ {
+ Window mainWindow = ((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow;
+
+ OpenFileDialog ofd = new OpenFileDialog {
+ AllowMultiple = true,
+ Title = "PBO Viewer | Choose a PBO file",
+ };
+
+ string[] fileSelected = await ofd.ShowAsync(((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow);
+ if (fileSelected.Length == 0)
+ return;
+
+ await Task.Run(() => fileSelected.ToList().ForEach(x => File.Copy(x, Path.Combine(currentPath, Path.GetFileName(x)), true)));
+ }
+
+ ///
+ /// Add a file to the PBO
+ ///
+ ///
+ /// Path to add the files
+ public static async Task AddFolder(string currentPath)
+ {
+ Window mainWindow = ((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow;
+
+ OpenFolderDialog ofd = new OpenFolderDialog {
+ Title = "PBO Viewer | Choose a folder",
+ };
+
+ // Get the selected folder
+ string folderPath = await ofd.ShowAsync(((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow);
+
+ if (string.IsNullOrWhiteSpace(folderPath))
+ return;
+
+ await Task.Run(() => IO.DirectoryCopy(folderPath, Path.Combine(currentPath, Path.GetFileName(folderPath))));
+ }
+
+ ///
+ /// Make the checksum of the PBO
+ ///
+ ///
+ /// PBO path to make the checksum
+ ///
+ ///
+ public static async Task Checksum(string filePath)
+ {
+ ChecksumWindow checksumWindow = new ChecksumWindow();
+ //string filePath = !isFile ? Path.Combine(Path.GetDirectoryName(editorPath), Path.GetFileName(editorPath) + ".pbo") : editorPath;
+
+ if (!File.Exists(filePath))
+ {
+ checksumWindow.Init(filePath, "File not found");
+ return;
+ }
+
+ using SHA256 sha256 = SHA256.Create();
+ using Stream stream = new FileStream(filePath, FileMode.Open, FileAccess.Read);
+
+ byte[] hash = await Task.Run(() => sha256.ComputeHash(stream));
+ string shaChecksum = BitConverter.ToString(hash).Replace("-", "").ToLowerInvariant();
+
+ checksumWindow.Init(filePath, shaChecksum);
+ }
+
+ ///
+ /// Copy the item path to a new destination
+ ///
+ ///
+ /// Item path to copy
+ ///
+ ///
+ public static async Task CopyTo(string itemPath)
+ {
+ Window mainWindow = ((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow;
+
+ if ((File.GetAttributes(itemPath) & FileAttributes.Directory) == FileAttributes.Directory)
+ {
+ OpenFolderDialog ofd = new OpenFolderDialog {
+ Title = $"PBO Viewer | Where to save {Path.GetFileName(itemPath)}",
+ };
+
+ // Get the selected folder
+ string folderPath = await ofd.ShowAsync(mainWindow);
+
+ if (string.IsNullOrWhiteSpace(folderPath))
+ return;
+
+ string destinationPath = Path.Combine(folderPath, Path.GetFileName(itemPath));
+
+ if (Directory.Exists(destinationPath))
+ Directory.Delete(destinationPath);
+
+ IO.DirectoryCopy(itemPath, destinationPath);
+ return;
+ }
+
+
+ SaveFileDialog sfd = new SaveFileDialog {
+ DefaultExtension = "pbo",
+ Title = $"PBO Viewer | Where to save {Path.GetFileName(itemPath)}",
+ InitialFileName = Path.GetFileName(itemPath),
+ };
+
+ // Get the selected folder
+ string filePath = await sfd.ShowAsync(mainWindow);
+
+ if (string.IsNullOrWhiteSpace(filePath))
+ return;
+
+ if (File.Exists(filePath))
+ File.Delete(filePath);
+
+ File.Copy(itemPath, filePath);
+ }
+
+ ///
+ /// Delete the item path
+ ///
+ ///
+ /// Item path to delete
+ ///
+ ///
+ public static async Task Delete(string itemPath)
+ {
+ if ((File.GetAttributes(itemPath) & FileAttributes.Directory) == FileAttributes.Directory) {
+ await Task.Run(() => Directory.Delete(itemPath, true));
+ return;
+ }
+
+ File.Delete(itemPath);
+ }
+
+ ///
+ /// Open a folder into PBO Viewer
+ ///
+ ///
+ public static async void OpenFolder()
+ {
+ Window mainWindow = ((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow;
+
+ OpenFolderDialog ofd = new OpenFolderDialog {
+ Title = "PBO Viewer | Choose a folder",
+ };
+
+ // Get the selected folder
+ string folderPath = await ofd.ShowAsync(mainWindow);
+
+ if (string.IsNullOrWhiteSpace(folderPath))
+ return;
+
+ // Init the editor
+ EditorView editorView = new EditorView();
+ editorView.Init(folderPath);
+ ((PboViewerMainWindowViewModel)((PboViewerMainWindow)mainWindow).DataContext).Child = editorView;
+ // Set the new title
+ mainWindow.Title = $"PBO Viewer | {folderPath}";
+ ((PboViewerMainWindow)mainWindow).Title.Text = $"PBO Viewer | {folderPath}";
+ }
+
+ ///
+ /// Open a PBO into PBO Viewer
+ ///
+ ///
+ public static async void OpenPBO()
+ {
+ Window mainWindow = ((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow;
+
+ OpenFileDialog ofd = new OpenFileDialog
+ {
+ AllowMultiple = false,
+ Title = "PBO Viewer | Choose a PBO file",
+ Filters = new List(new[]
+ {
+ new FileDialogFilter
+ {
+ Name = "PBO file",
+ Extensions = new List(new [] {
+ "pbo"
+ })
+ },
+ })
+ };
+
+ string[] fileSelected = await ofd.ShowAsync(mainWindow);
+ if (fileSelected.Length == 0)
+ return;
+
+ // Init the editor
+ EditorView editorView = new EditorView();
+ editorView.Init(fileSelected[0]);
+ ((PboViewerMainWindowViewModel)((PboViewerMainWindow)mainWindow).DataContext).Child = editorView;
+ // Set the new title
+ mainWindow.Title = $"PBO Viewer | {fileSelected[0]}";
+ ((PboViewerMainWindow)mainWindow).Title.Text = $"PBO Viewer | {fileSelected[0]}";
+ }
+
+ ///
+ /// Pack the PBO
+ ///
+ ///
+ /// Editor path to pack the entire PBO
+ ///
+ ///
+ public static async Task PackPBO(string editorPath, string pboPath = null)
+ {
+ string filePath = pboPath;
+ bool openFileExplorer = false;
+
+ if (pboPath is null)
+ {
+ SaveFileDialog sfd = new SaveFileDialog
+ {
+ DefaultExtension = "pbo",
+ Title = $"PBO Viewer | Where to save {Path.GetFileName(editorPath)}.pbo",
+ InitialFileName = Path.GetFileName(editorPath),
+ };
+
+ // Get the selected folder
+ filePath = await sfd.ShowAsync(((IClassicDesktopStyleApplicationLifetime)App.Current.ApplicationLifetime).MainWindow);
+
+ if (string.IsNullOrWhiteSpace(filePath))
+ return null;
+
+ openFileExplorer = true;
+ }
+
+ await Task.Run(() =>
+ {
+ // If the file exists, delete it
+ if (File.Exists(filePath))
+ File.Delete(filePath);
+
+ // Pack the folder as a PBO
+ using PBOSharpClient pboSharpClient = new PBOSharpClient();
+ pboSharpClient.PackPBO(editorPath, Path.GetDirectoryName(filePath), Path.GetFileName(filePath));
+ });
+
+
+ if (!openFileExplorer)
+ return filePath;
+
+ try
+ {
+ if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows))
+ Process.Start("explorer.exe", Path.GetDirectoryName(editorPath));
+ else
+ Process.Start(Path.GetDirectoryName(editorPath));
+ }
+ catch { }
+
+ return filePath;
+ }
+
+ ///
+ /// Start a file
+ ///
+ ///
+ /// File path to start
+ public static void StartFile(string filePath)
+ {
+ Process.Start(new ProcessStartInfo
+ {
+ FileName = filePath,
+ UseShellExecute = true,
+ });
+ }
+ }
+}
diff --git a/src/PboViewer GUI/Core/IO.cs b/src/PboViewer GUI/Core/IO.cs
new file mode 100644
index 0000000..4a4ba94
--- /dev/null
+++ b/src/PboViewer GUI/Core/IO.cs
@@ -0,0 +1,27 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PboViewer.Core
+{
+ public class IO
+ {
+ ///
+ /// Copy a directory
+ ///
+ ///
+ /// Source path of the directory
+ /// Destination path of the directory
+ public static void DirectoryCopy(string sourcePath, string destinationPath)
+ {
+ foreach (string dirPath in Directory.GetDirectories(sourcePath, "*", SearchOption.AllDirectories))
+ Directory.CreateDirectory(dirPath.Replace(sourcePath, destinationPath));
+
+ foreach (string newPath in Directory.GetFiles(sourcePath, "*.*", SearchOption.AllDirectories))
+ File.Copy(newPath, newPath.Replace(sourcePath, destinationPath), true);
+ }
+ }
+}
diff --git a/src/PboViewer GUI/Core/TreeViewItemHelper.cs b/src/PboViewer GUI/Core/TreeViewItemHelper.cs
deleted file mode 100644
index 3b03f95..0000000
--- a/src/PboViewer GUI/Core/TreeViewItemHelper.cs
+++ /dev/null
@@ -1,166 +0,0 @@
-using Avalonia.Controls;
-using PBOSharp;
-using PBOSharp.Objects;
-using System;
-using System.Collections.Generic;
-using System.Drawing;
-using System.IO;
-using System.Text;
-
-namespace PboViewer.Core
-{
- class TreeViewItemHelper
- {
- ///
- /// Generate the PBO tree view
- ///
- //private void GenerateTreeView()
- //{
- // // Get the treeview
- // TreeView mainWindowTreeView = _mainWindow.Find("PboFileTreeView");
-
- // TreeViewItem baseTreeViewItem = new TreeViewItem
- // {
- // Header = new StackPanel
- // {
- // Orientation = Avalonia.Layout.Orientation.Horizontal,
- // Children =
- // {
- // new TextBlock
- // {
- // FontSize = 14,
- // Foreground = Brushes.White,
- // Text = Path.GetFileName(PboFileName),
- // }
- // },
- // }
- // };
-
- // //baseTreeViewItem.DoubleTapped += (sender, e) =>
- // //{
- // // string? treeViewItemDirectoryPath = (string)((TreeViewItem)sender).Tag;
-
- // // // Analyse the PBO
- // // PBOSharpClient pboSharpClient = new PBOSharpClient();
- // // PBO loadedPBO = pboSharpClient.AnalyzePBO(PboFileName);
-
- // // int filesCount = loadedPBO.Files.Count;
- // // string currentFolder = "";
-
- // // for (int i = 0; i < filesCount; i++)
- // // {
- // // PBOFile currentPboFile = loadedPBO.Files[i];
-
- // // if (currentPboFile.)
- // // }
-
- // // pboSharpClient.Dispose();
- // //};
-
- // return List treeViewItems = GetPboItem();
- // treeViewItems.ForEach(x => PboTreeViewItems.Add(x));
- //}
-
- ///
- /// Get all the PBO items
- ///
- //private List GetPboItem(string pboFileName)
- //{
- // List treeViewItems = new List();
-
- // // Analyse the PBO
- // PBOSharpClient pboSharpClient = new PBOSharpClient();
- // PBO loadedPBO = pboSharpClient.AnalyzePBO(pboFileName);
- // TreeViewItem currentFolderTreeViewItem = null;
-
- // int filesCount = loadedPBO.Files.Count;
- // string currentFolder = "";
-
- // for (int i = 0; i < filesCount; i++)
- // {
- // PBOFile currentPboFile = loadedPBO.Files[i];
-
- // while (Path.GetDirectoryName(currentPboFile.FileName) == currentFolder)
- // {
- // treeViewItems.Add(new TreeViewItem
- // {
- // Header = new StackPanel
- // {
- // Orientation = Avalonia.Layout.Orientation.Horizontal,
- // Children = {
- // new TextBlock
- // {
- // FontSize = 14,
- // Foreground = Brushes.White,
- // Text = currentPboFile.FileNameShort,
- // }
- // },
- // },
- // });
-
- // i++;
- // }
-
- // currentFolder = Path.GetDirectoryName(currentPboFile.FileName);
- // currentFolderTreeViewItem = new TreeViewItem
- // {
- // Header = new StackPanel
- // {
- // Orientation = Avalonia.Layout.Orientation.Horizontal,
- // Children = {
- // new TextBlock {
- // FontSize = 14,
- // Foreground = Brushes.White,
- // Text = currentFolder,
- // }
- // },
- // },
- // };
-
- // //if (Path.GetDirectoryName(currentPboFile.FileName) != currentFolder)
- // //{
- // // treeViewItems.Add(new TreeViewItem
- // // {
- // // Header = new StackPanel
- // // {
- // // Orientation = Avalonia.Layout.Orientation.Horizontal,
- // // Children =
- // // {
- // // new TextBlock
- // // {
- // // FontSize = 14,
- // // Foreground = Brushes.White,
- // // Text = Path.GetFileName(PboFileName),
- // // }
- // // },
- // // },
- // // Items = GetPboItem(Path.GetDirectoryName(currentPboFile.FileName))
- // // });
- // //}
- // //else
- // //{
- // // treeViewItems.Add(new TreeViewItem
- // // {
- // // Header = new StackPanel
- // // {
- // // Orientation = Avalonia.Layout.Orientation.Horizontal,
- // // Children =
- // // {
- // // new TextBlock
- // // {
- // // FontSize = 14,
- // // Foreground = Brushes.White,
- // // Text = currentPboFile.FileNameShort,
- // // }
- // // },
- // // },
- // // });
- // //}
- // }
-
- // pboSharpClient.Dispose();
-
- // return treeViewItems;
- //}
- }
-}
diff --git a/src/PboViewer GUI/FluentWindow.cs b/src/PboViewer GUI/FluentWindow.cs
new file mode 100644
index 0000000..dd7df01
--- /dev/null
+++ b/src/PboViewer GUI/FluentWindow.cs
@@ -0,0 +1,51 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Controls.Primitives;
+using Avalonia.Platform;
+using Avalonia.Styling;
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PboViewer
+{
+ public class FluentWindow : Window, IStyleable
+ {
+ Type IStyleable.StyleKey => typeof(Window);
+
+ public FluentWindow()
+ {
+ ExtendClientAreaToDecorationsHint = true;
+ ExtendClientAreaTitleBarHeightHint = -1;
+
+ TransparencyLevelHint = WindowTransparencyLevel.AcrylicBlur;
+
+ this.GetObservable(WindowStateProperty)
+ .Subscribe(x =>
+ {
+ PseudoClasses.Set(":maximized", x == WindowState.Maximized);
+ PseudoClasses.Set(":fullscreen", x == WindowState.FullScreen);
+ });
+
+ this.GetObservable(IsExtendedIntoWindowDecorationsProperty)
+ .Subscribe(x =>
+ {
+ if (!x)
+ {
+ SystemDecorations = SystemDecorations.Full;
+ TransparencyLevelHint = WindowTransparencyLevel.Blur;
+ }
+ });
+ }
+
+ protected override void OnApplyTemplate(TemplateAppliedEventArgs e)
+ {
+ base.OnApplyTemplate(e);
+ ExtendClientAreaChromeHints =
+ ExtendClientAreaChromeHints.PreferSystemChrome |
+ ExtendClientAreaChromeHints.OSXThickTitleBar;
+ }
+ }
+}
diff --git a/src/PboViewer GUI/PboViewer GUI.csproj b/src/PboViewer GUI/PboViewer GUI.csproj
index ec1328c..ee466b4 100644
--- a/src/PboViewer GUI/PboViewer GUI.csproj
+++ b/src/PboViewer GUI/PboViewer GUI.csproj
@@ -1,7 +1,7 @@
WinExe
- netcoreapp3.1
+ net5.0
PboViewer
PboViewer
@@ -14,13 +14,64 @@
x64
-
-
-
+
+
+
+
+
+
+
+
-
- PboMakerMainWindow.axaml
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+ MSBuild:Compile
+
+
+
+
+ MSBuild:UpdateDesignTimeXaml
+
+
+
+
+
+
+
+
+ App.xaml
+
+
+ EditorView.xaml
+
+
+ HomeView.xaml
+
+
+ ChecksumWindow.xaml
+
+
+ PboViewerMainWindow.xaml
diff --git a/src/PboViewer GUI/PboViewer GUI.csproj.user b/src/PboViewer GUI/PboViewer GUI.csproj.user
new file mode 100644
index 0000000..88a5509
--- /dev/null
+++ b/src/PboViewer GUI/PboViewer GUI.csproj.user
@@ -0,0 +1,4 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/PboViewer GUI/PboViewerMainWindow.axaml b/src/PboViewer GUI/PboViewerMainWindow.axaml
deleted file mode 100644
index 1cd254f..0000000
--- a/src/PboViewer GUI/PboViewerMainWindow.axaml
+++ /dev/null
@@ -1,79 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/PboViewer GUI/Program.cs b/src/PboViewer GUI/Program.cs
index 3c9d782..165076c 100644
--- a/src/PboViewer GUI/Program.cs
+++ b/src/PboViewer GUI/Program.cs
@@ -1,6 +1,5 @@
using Avalonia;
using Avalonia.Controls.ApplicationLifetimes;
-using Avalonia.Logging.Serilog;
using System;
namespace PboViewer
@@ -17,6 +16,6 @@ public static void Main(string[] args) => BuildAvaloniaApp()
public static AppBuilder BuildAvaloniaApp()
=> AppBuilder.Configure()
.UsePlatformDetect()
- .LogToDebug();
+ .LogToTrace();
}
}
diff --git a/src/PboViewer GUI/Styles/Button.xaml b/src/PboViewer GUI/Styles/Button.xaml
new file mode 100644
index 0000000..cb058d0
--- /dev/null
+++ b/src/PboViewer GUI/Styles/Button.xaml
@@ -0,0 +1,7 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/PboViewer GUI/Styles/Icons/Material.xaml b/src/PboViewer GUI/Styles/Icons/Material.xaml
new file mode 100644
index 0000000..dd47b30
--- /dev/null
+++ b/src/PboViewer GUI/Styles/Icons/Material.xaml
@@ -0,0 +1,4802 @@
+
+
+
diff --git a/src/PboViewer GUI/Styles/SideBar.xaml b/src/PboViewer GUI/Styles/SideBar.xaml
new file mode 100644
index 0000000..e4c7677
--- /dev/null
+++ b/src/PboViewer GUI/Styles/SideBar.xaml
@@ -0,0 +1,74 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/PboViewer GUI/ViewModels/ChecksumWindowViewModel.cs b/src/PboViewer GUI/ViewModels/ChecksumWindowViewModel.cs
new file mode 100644
index 0000000..b997a7f
--- /dev/null
+++ b/src/PboViewer GUI/ViewModels/ChecksumWindowViewModel.cs
@@ -0,0 +1,16 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace PboViewer.ViewModels
+{
+ public class ChecksumWindowViewModel
+ {
+ public string ChecksumResult { get; set; }
+ public string Checksum { get; set; }
+ public string File { get; set; }
+ public string SHA { get; set; }
+ }
+}
diff --git a/src/PboViewer GUI/ViewModels/EditorViewViewModel.cs b/src/PboViewer GUI/ViewModels/EditorViewViewModel.cs
new file mode 100644
index 0000000..6742aff
--- /dev/null
+++ b/src/PboViewer GUI/ViewModels/EditorViewViewModel.cs
@@ -0,0 +1,516 @@
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Controls.Shapes;
+using Avalonia.Interactivity;
+using Avalonia.Layout;
+using Avalonia.Media;
+using Avalonia.Styling;
+using PboViewer.Core;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Diagnostics;
+using System.IO;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows.Input;
+using Path = System.IO.Path;
+
+namespace PboViewer.ViewModels
+{
+ public class EditorViewViewModel : BaseViewModel
+ {
+ public ObservableCollection FolderItems
+ {
+ get => _folderItems;
+ set
+ {
+ if (value != _folderItems)
+ {
+ _folderItems = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
+ public bool HasPBO
+ {
+ get => _hasPBO;
+ set
+ {
+ if (value != _hasPBO)
+ {
+ _hasPBO = value;
+ OnPropertyChanged();
+ }
+ }
+ }
+
+
+ public ICommand AddFile { get; set; }
+ public ICommand AddFolder { get; set; }
+ public ICommand Checksum { get; set; }
+ public ICommand PackPBO { get; set; }
+
+
+ private string _currentPath;
+ private string _editorPath;
+ private ObservableCollection _folderItems;
+ private bool _hasPBO = false;
+ private string _pboPath;
+
+
+ public EditorViewViewModel(string editorPath, string pboPath = null)
+ {
+ _editorPath = editorPath;
+ _pboPath = pboPath;
+ if (pboPath is not null)
+ HasPBO = true;
+
+
+ AddFile = new RelayCommand(async() => {
+ await Commands.AddFile(_currentPath);
+ DrawFolderItems(_currentPath);
+
+ if (HasPBO)
+ _pboPath = await Commands.PackPBO(_editorPath, _pboPath);
+ });
+ AddFolder = new RelayCommand(async() => {
+ await Commands.AddFolder(_currentPath);
+ DrawFolderItems(_currentPath);
+
+ if (HasPBO)
+ _pboPath = await Commands.PackPBO(_editorPath, _pboPath);
+ });
+ Checksum = new RelayCommand(async () => {
+ await Commands.Checksum(_pboPath);
+ });
+ PackPBO = new RelayCommand(async() => {
+ _pboPath = await Commands.PackPBO(_editorPath, _pboPath);
+ HasPBO = true;
+ });
+ }
+
+
+ public void DrawFolderItems(string directoryPath)
+ {
+ _currentPath = directoryPath;
+ FolderItems = new ObservableCollection();
+
+ GeometryDrawing folderDrawing = ((Style)App.Current.Styles.ToArray()[3].Children[0].Children[0]).Resources["Material.Folder"] as GeometryDrawing;
+ folderDrawing.Brush = Brushes.Wheat;
+ GeometryDrawing extractDrawing = ((Style)App.Current.Styles.ToArray()[3].Children[0].Children[0]).Resources["Material.PackageDown"] as GeometryDrawing;
+ extractDrawing.Brush = Brushes.LimeGreen;
+ GeometryDrawing deleteDrawing = ((Style)App.Current.Styles.ToArray()[3].Children[0].Children[0]).Resources["Material.Delete"] as GeometryDrawing;
+ deleteDrawing.Brush = Brushes.Red;
+ GeometryDrawing renameDrawing = ((Style)App.Current.Styles.ToArray()[3].Children[0].Children[0]).Resources["Material.RenameBox"] as GeometryDrawing;
+ renameDrawing.Brush = Brushes.MediumPurple;
+
+
+ // Create the folder list box item
+ if (directoryPath != _editorPath)
+ {
+ ListBoxItem previousFolderListBoxItem = new ListBoxItem
+ {
+ Tag = Path.GetDirectoryName(directoryPath),
+ Content = new StackPanel
+ {
+ Orientation = Orientation.Horizontal,
+ Children =
+ {
+ new DrawingPresenter
+ {
+ Height = 18,
+ Width = 18,
+ Drawing = folderDrawing,
+ },
+ new TextBlock
+ {
+ FontSize = 14,
+ Foreground = Brushes.Wheat,
+ Text = "..",
+ Margin = new Thickness(5, 0, 0, 0),
+ }
+ },
+ },
+ };
+ // Navigate throught the root directory
+ previousFolderListBoxItem.DoubleTapped += (sender, e) =>
+ {
+ string? listBoxItemDirectoryPath = (string)((ListBoxItem)sender).Tag;
+
+ // If the directory path is a drive name
+ if (listBoxItemDirectoryPath is not null)
+ // Display the folder item
+ DrawFolderItems(listBoxItemDirectoryPath);
+ };
+ //previousFolderListBoxItem.Tapped += (sender, e) => { FolderItemDetail.Child = null; };
+
+ FolderItems.Add(previousFolderListBoxItem);
+ }
+
+
+ // Display all the folder in the current directory
+ Directory.GetDirectories(directoryPath).ToList().ForEach(folder =>
+ {
+ // Create the folder list box item
+ ListBoxItem folderListBoxItem = new ListBoxItem
+ {
+ Tag = folder,
+ Content = new StackPanel
+ {
+ Orientation = Orientation.Horizontal,
+ Children =
+ {
+ new DrawingPresenter
+ {
+ Height = 18,
+ Width = 18,
+ Drawing = folderDrawing,
+ },
+ new TextBlock
+ {
+ FontSize = 14,
+ Foreground = Brushes.Wheat,
+ Text = Path.GetFileName(folder),
+ Margin = new Thickness(5, 0, 0, 0),
+ }
+ },
+ },
+ };
+ // Navigate through directory
+ folderListBoxItem.DoubleTapped += (sender, e) => {
+ string folderPath = ((ListBoxItem)sender).Tag.ToString();
+ DrawFolderItems(folderPath);
+ };
+ folderListBoxItem.ContextMenu = new ContextMenu
+ {
+ Items = new List