From 9a9765fa8c06a7e21e24b6b5b160b3b2203c4045 Mon Sep 17 00:00:00 2001 From: "phares@iscn5cg20977xq" Date: Sat, 15 Nov 2025 13:48:48 -0700 Subject: [PATCH] Upgrade project to .NET 10.0 and update dependencies --- .vscode/launch.json | 6 +++--- .vscode/tasks.json | 2 +- Compare/AA.Compare.csproj | 14 ++++++------- Distance/AA.Distance.csproj | 12 +++++------ Face/AA.Face.csproj | 12 +++++------ .../AA.FaceRecognitionDotNet.csproj | 6 +++--- Metadata/AA.Metadata.csproj | 11 +++++----- Metadata/Models/Stateless/GPS.cs | 2 +- People/AA.People.csproj | 12 +++++------ Rename/AA.Rename.csproj | 18 ++++++++-------- Rename/Models/RenameSettings.cs | 2 +- Rename/Rename.cs | 21 +++++++------------ Shared/AA.Shared.csproj | 9 +++----- Windows/AA.Windows.csproj | 18 ++++++++-------- Windows/Windows.cs | 7 ++++++- global.json | 2 +- 16 files changed, 74 insertions(+), 80 deletions(-) diff --git a/.vscode/launch.json b/.vscode/launch.json index 646a431..d673d97 100644 --- a/.vscode/launch.json +++ b/.vscode/launch.json @@ -6,7 +6,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Build-Compare", - "program": "${workspaceFolder}/Compare/bin/Debug/net9.0/win-x64/AA.Compare.dll", + "program": "${workspaceFolder}/Compare/bin/Debug/net10.0/win-x64/AA.Compare.dll", "args": [ "s" ], @@ -23,7 +23,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Build-Rename", - "program": "${workspaceFolder}/Rename/bin/Debug/net9.0/win-x64/AA.Rename.dll", + "program": "${workspaceFolder}/Rename/bin/Debug/net10.0/win-x64/AA.Rename.dll", "args": [ "s" ], @@ -40,7 +40,7 @@ "type": "coreclr", "request": "launch", "preLaunchTask": "Build-Windows", - "program": "${workspaceFolder}/Windows/bin/Debug/net9.0/win-x64/AA.Windows.dll", + "program": "${workspaceFolder}/Windows/bin/Debug/net10.0/win-x64/AA.Windows.dll", "args": [ "s" ], diff --git a/.vscode/tasks.json b/.vscode/tasks.json index 53e75a2..f5a49aa 100644 --- a/.vscode/tasks.json +++ b/.vscode/tasks.json @@ -631,7 +631,7 @@ { "label": "File-Folder-Helper AOT s X Day-Helper-2025-03-20", "type": "shell", - "command": "L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net8.0/win-x64/publish/File-Folder-Helper.exe", + "command": "L:/DevOps/Mesa_FI/File-Folder-Helper/bin/Release/net10.0/win-x64/publish/File-Folder-Helper.exe", "args": [ "s", "X", diff --git a/Compare/AA.Compare.csproj b/Compare/AA.Compare.csproj index 0a91c99..2c32237 100644 --- a/Compare/AA.Compare.csproj +++ b/Compare/AA.Compare.csproj @@ -4,15 +4,15 @@ enable Exe win-x64 - net9.0 + net10.0 770b6ae3-266e-4d5f-970a-173709b064de - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.View.by.Distance.Compare - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -42,10 +42,10 @@ - - - - + + + + diff --git a/Distance/AA.Distance.csproj b/Distance/AA.Distance.csproj index 2f7177a..0adecf8 100644 --- a/Distance/AA.Distance.csproj +++ b/Distance/AA.Distance.csproj @@ -4,14 +4,14 @@ enable library win-x64 - net9.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.Distance - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -38,12 +38,12 @@ - + - - + + diff --git a/Face/AA.Face.csproj b/Face/AA.Face.csproj index ad62754..72370da 100644 --- a/Face/AA.Face.csproj +++ b/Face/AA.Face.csproj @@ -4,14 +4,14 @@ enable library win-x64 - net9.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.Face - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -38,12 +38,12 @@ - + - - + + diff --git a/FaceRecognitionDotNet/AA.FaceRecognitionDotNet.csproj b/FaceRecognitionDotNet/AA.FaceRecognitionDotNet.csproj index 26eced3..ee2dceb 100644 --- a/FaceRecognitionDotNet/AA.FaceRecognitionDotNet.csproj +++ b/FaceRecognitionDotNet/AA.FaceRecognitionDotNet.csproj @@ -4,15 +4,15 @@ enable library win-x64 - net9.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.FaceRecognitionDotNet false - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Mike Phares Phares true diff --git a/Metadata/AA.Metadata.csproj b/Metadata/AA.Metadata.csproj index 60c8149..8757e84 100644 --- a/Metadata/AA.Metadata.csproj +++ b/Metadata/AA.Metadata.csproj @@ -4,14 +4,14 @@ enable library win-x64 - net8.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1699920000)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.Metadata - 8.0.118.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1699920000)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -41,9 +41,8 @@ - - - + + diff --git a/Metadata/Models/Stateless/GPS.cs b/Metadata/Models/Stateless/GPS.cs index 2d44c8c..f83f13e 100644 --- a/Metadata/Models/Stateless/GPS.cs +++ b/Metadata/Models/Stateless/GPS.cs @@ -106,7 +106,7 @@ internal abstract class GPS string longitudeDMS = gpsDirectory.Longitude; double longitude = ParseValueFromDmsString(longitudeDMS); result = new(latitude, longitude); - string dms = result.ToDmsString(); + string dms = result.Value.ToDmsString(); if ($"{latitudeDMS}, {longitudeDMS}" != dms) result = null; } diff --git a/People/AA.People.csproj b/People/AA.People.csproj index 2ede372..346dab6 100644 --- a/People/AA.People.csproj +++ b/People/AA.People.csproj @@ -4,14 +4,14 @@ enable library win-x64 - net9.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.People - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -38,11 +38,11 @@ - + - - + + diff --git a/Rename/AA.Rename.csproj b/Rename/AA.Rename.csproj index a13c2ed..dada390 100644 --- a/Rename/AA.Rename.csproj +++ b/Rename/AA.Rename.csproj @@ -4,16 +4,16 @@ enable Exe win-x64 - net9.0 + net10.0 fa0fa59b-afe4-4960-9afc-18fcbc7fb41b 843db3e1-e18f-4cba-8b00-967529a32635 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.View.by.Distance.Rename - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -43,13 +43,13 @@ - - - - - + + + + + - + diff --git a/Rename/Models/RenameSettings.cs b/Rename/Models/RenameSettings.cs index f6e9e4e..00bd33b 100644 --- a/Rename/Models/RenameSettings.cs +++ b/Rename/Models/RenameSettings.cs @@ -7,7 +7,6 @@ namespace View_by_Distance.Rename.Models; public record RenameSettings(string Company, string DefaultMaker, - Dictionary DirectoryDictionary, string? FirstPassFile, bool ForceNewId, bool InPlace, @@ -27,6 +26,7 @@ public record RenameSettings(string Company, public override string ToString() { +#pragma warning disable CS0117, CS0534 string result = JsonSerializer.Serialize(this, RenameSettingsSourceGenerationContext.Default.RenameSettings); return result; } diff --git a/Rename/Rename.cs b/Rename/Rename.cs index ae222f9..07fcd2e 100644 --- a/Rename/Rename.cs +++ b/Rename/Rename.cs @@ -152,19 +152,24 @@ public partial class Rename : IRename, IDisposable long epoch = new DateTime(1970, 1, 1).Ticks; long net8ReleaseDate = new DateTime(2023, 11, 14).Ticks; long net9ReleaseDate = new DateTime(2024, 11, 12).Ticks; - long net10ReleaseDate = new DateTime(2026, 01, 01).Ticks; + long net10ReleaseDate = new DateTime(2025, 11, 11).Ticks; + long net11ReleaseDate = new DateTime(2026, 11, 11).Ticks; double net8TotalSeconds = new TimeSpan(net8ReleaseDate - epoch).TotalSeconds; double net9TotalSeconds = new TimeSpan(net9ReleaseDate - epoch).TotalSeconds; double net10TotalSeconds = new TimeSpan(net10ReleaseDate - epoch).TotalSeconds; + double net11TotalSeconds = new TimeSpan(net11ReleaseDate - epoch).TotalSeconds; logger?.LogInformation("It has been {net8TotalSeconds} seconds since net8 was released", net8TotalSeconds); logger?.LogInformation("It has been {net9TotalSeconds} seconds since net9 was released", net9TotalSeconds); logger?.LogInformation("It has been {net10TotalSeconds} seconds since net10 was released", net10TotalSeconds); + logger?.LogInformation("It has been {net11TotalSeconds} seconds since net11 was released", net11TotalSeconds); double net8TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net8TotalSeconds) / secondsInAHour); double net9TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net9TotalSeconds) / secondsInAHour); double net10TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net10TotalSeconds) / secondsInAHour); + double net11TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net11TotalSeconds) / secondsInAHour); logger?.LogInformation("It has been {net8TotalHours} hours since net8 was released", net8TotalHours); logger?.LogInformation("It has been {net9TotalHours} hours since net9 was released", net9TotalHours); logger?.LogInformation("It has been {net10TotalHours} hours since net10 was released", net10TotalHours); + logger?.LogInformation("It has been {net11TotalHours} hours since net11 was released", net11TotalHours); } private void RenameWork(ILogger? logger, AppSettings appSettings, IRename rename) @@ -273,7 +278,6 @@ public partial class Rename : IRename, IDisposable { List results = []; int index = -1; - TimeSpan timeSpan; foreach (KeyValuePair> keyValuePair in keyValuePairs) { index += 1; @@ -287,9 +291,6 @@ public partial class Rename : IRename, IDisposable if (keyValuePair.Value.Count > 2) throw new NotSupportedException("Too many sidecar files!"); SetFirstPassCollection(logger, appSettings, rename, ids, metadata, index, keyValuePair, results); - timeSpan = new(DateTime.Now.Ticks - rename.Ticks); - if (timeSpan.TotalMilliseconds > appSettings.RenameSettings.MaxMilliSecondsPerCall) - break; } return results; } @@ -643,7 +644,6 @@ public partial class Rename : IRename, IDisposable { if (record.ExifDirectory.FilePath.FullName[..2] != directoryInfo.FullName[..2]) isWrongYear = null; - string directoryName; string tfw = GetTFW(record, isWrongYear); string? maker = IMetaBase.GetMaker(record.ExifDirectory); string rootDirectory = appSettings.ResultSettings.RootDirectory; @@ -652,14 +652,7 @@ public partial class Rename : IRename, IDisposable string? splat = checkDirectoryName.Length > 3 && checkDirectoryName[^3..][1] == '!' ? checkDirectoryName[^3..] : null; string contains = record.ExifDirectory.FilePath.Id is null || ids.Contains(record.ExifDirectory.FilePath.Id.Value) ? "_ Exists _" : "_ New-Destination _"; string makerSplit = string.IsNullOrEmpty(maker) ? string.IsNullOrEmpty(appSettings.RenameSettings.DefaultMaker) ? string.Empty : appSettings.RenameSettings.DefaultMaker : $" {maker.Split(' ')[0]}"; - if (!string.IsNullOrEmpty(splat) || isWrongYear is null || isWrongYear.Value || appSettings.RenameSettings.DirectoryDictionary.Count < 2) - directoryName = GetDirectoryName(year, tfw, segments[0], splat, seasonValue, seasonName, makerSplit); - else - { - directoryName = record.DateTime.ToString("yyyy-MM-dd"); - if (appSettings.RenameSettings.DirectoryDictionary.TryGetValue(directoryName, out string? value) && !string.IsNullOrEmpty(value)) - directoryName = value; - } + string directoryName = GetDirectoryName(year, tfw, segments[0], splat, seasonValue, seasonName, makerSplit); result = Path.GetFullPath(Path.Combine(rootDirectory, contains, directoryName)); } } diff --git a/Shared/AA.Shared.csproj b/Shared/AA.Shared.csproj index eb2d56e..98f9faa 100644 --- a/Shared/AA.Shared.csproj +++ b/Shared/AA.Shared.csproj @@ -3,14 +3,14 @@ enable enable win-x64;linux-x64 - net8.0 + net10.0 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1699920000)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.Shared - 8.0.118.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1699920000)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -39,7 +39,4 @@ - - - \ No newline at end of file diff --git a/Windows/AA.Windows.csproj b/Windows/AA.Windows.csproj index da10560..d7f344f 100644 --- a/Windows/AA.Windows.csproj +++ b/Windows/AA.Windows.csproj @@ -4,15 +4,15 @@ enable Exe win-x64 - net9.0 + net10.0 076c87e8-c7f0-40a3-aba3-73eb7f9ea892 - $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + $([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares.View.by.Distance.Windows - 9.0.104.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1731369600)), 3600)))) + 10.0.100.$([System.Math]::Floor($([MSBuild]::Divide($([MSBuild]::Subtract($([System.DateTimeOffset]::UtcNow.ToUnixTimeSeconds()), 1762819200)), 3600)))) Phares Mike Phares true @@ -42,13 +42,13 @@ - - - - - + + + + + - + diff --git a/Windows/Windows.cs b/Windows/Windows.cs index b660ac8..c7a267d 100644 --- a/Windows/Windows.cs +++ b/Windows/Windows.cs @@ -171,19 +171,24 @@ public partial class Windows : IWindows, IDisposable long epoch = new DateTime(1970, 1, 1).Ticks; long net8ReleaseDate = new DateTime(2023, 11, 14).Ticks; long net9ReleaseDate = new DateTime(2024, 11, 12).Ticks; - long net10ReleaseDate = new DateTime(2026, 01, 01).Ticks; + long net10ReleaseDate = new DateTime(2025, 11, 11).Ticks; + long net11ReleaseDate = new DateTime(2026, 11, 11).Ticks; double net8TotalSeconds = new TimeSpan(net8ReleaseDate - epoch).TotalSeconds; double net9TotalSeconds = new TimeSpan(net9ReleaseDate - epoch).TotalSeconds; double net10TotalSeconds = new TimeSpan(net10ReleaseDate - epoch).TotalSeconds; + double net11TotalSeconds = new TimeSpan(net11ReleaseDate - epoch).TotalSeconds; logger?.LogInformation("It has been {net8TotalSeconds} seconds since net8 was released", net8TotalSeconds); logger?.LogInformation("It has been {net9TotalSeconds} seconds since net9 was released", net9TotalSeconds); logger?.LogInformation("It has been {net10TotalSeconds} seconds since net10 was released", net10TotalSeconds); + logger?.LogInformation("It has been {net11TotalSeconds} seconds since net11 was released", net11TotalSeconds); double net8TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net8TotalSeconds) / secondsInAHour); double net9TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net9TotalSeconds) / secondsInAHour); double net10TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net10TotalSeconds) / secondsInAHour); + double net11TotalHours = Math.Floor((DateTimeOffset.UtcNow.ToUnixTimeSeconds() - net11TotalSeconds) / secondsInAHour); logger?.LogInformation("It has been {net8TotalHours} hours since net8 was released", net8TotalHours); logger?.LogInformation("It has been {net9TotalHours} hours since net9 was released", net9TotalHours); logger?.LogInformation("It has been {net10TotalHours} hours since net10 was released", net10TotalHours); + logger?.LogInformation("It has been {net11TotalHours} hours since net11 was released", net11TotalHours); } private void WindowsWork(ILogger? logger, AppSettings appSettings, IWindows windows) diff --git a/global.json b/global.json index 5deae59..e6ae825 100644 --- a/global.json +++ b/global.json @@ -1,6 +1,6 @@ { "sdk": { "rollForward": "latestMinor", - "version": "9.0.0" + "version": "10.0.100" } } \ No newline at end of file