From 2d6562747c64cce57a44f68400a697fc55a64ac7 Mon Sep 17 00:00:00 2001 From: Jason Sylvestre Date: Fri, 5 Jun 2026 08:46:43 -0700 Subject: [PATCH 1/3] Upgrade application to .NET 10 and update dependencies Migrates all projects from .NET 6.0 to .NET 10.0. This includes updating all NuGet packages to their latest compatible versions. Incorporates necessary configuration changes, such as adding `TrustServerCertificate=True` to connection strings, and adjusts testing setup to align with the new framework and library versions. The `Sloth.Sql` project has been removed from the solution. --- Sloth.Api/Sloth.Api.csproj | 23 ++++++++------- Sloth.Api/appsettings.json | 2 +- Sloth.Core/Sloth.Core.csproj | 22 +++++++------- ...bs.AggieEnterprise.JournalProcessor.csproj | 6 +++- .../appsettings.json | 2 +- Sloth.Jobs.Core/Sloth.Jobs.Core.csproj | 24 +++++++-------- ...loth.Jobs.CyberSource.BankReconcile.csproj | 6 +++- .../appsettings.json | 2 +- .../Sloth.Jobs.Notifications.csproj | 6 +++- Sloth.Jobs.Notifications/appsettings.json | 2 +- .../Sloth.Jobs.WebHooks.Resend.csproj | 6 +++- Sloth.Jobs.WebHooks.Resend/appsettings.json | 2 +- Sloth.Test/Api/Setup/SlothApi.cs | 2 ++ Sloth.Test/Sloth.Test.csproj | 8 ++--- Sloth.Web/Sloth.Web.csproj | 29 ++++++++++--------- Sloth.Web/appsettings.json | 2 +- Sloth.sln | 8 ++--- 17 files changed, 84 insertions(+), 68 deletions(-) diff --git a/Sloth.Api/Sloth.Api.csproj b/Sloth.Api/Sloth.Api.csproj index 48227942..863b6c82 100644 --- a/Sloth.Api/Sloth.Api.csproj +++ b/Sloth.Api/Sloth.Api.csproj @@ -1,7 +1,7 @@ - net6.0 + net10.0 738f155f-718e-45d3-aceb-cb0b5d4a04f8 true 1.0.0.0 @@ -20,16 +20,17 @@ - - - - - - - - - - + + + + + + + + + + + diff --git a/Sloth.Api/appsettings.json b/Sloth.Api/appsettings.json index 60d99cbc..660d3c50 100644 --- a/Sloth.Api/appsettings.json +++ b/Sloth.Api/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Stackify": { "AppName": "Sloth.Api", diff --git a/Sloth.Core/Sloth.Core.csproj b/Sloth.Core/Sloth.Core.csproj index c1abd0d5..39930304 100644 --- a/Sloth.Core/Sloth.Core.csproj +++ b/Sloth.Core/Sloth.Core.csproj @@ -1,7 +1,7 @@ - + - net6 + net10.0 latest true @@ -9,27 +9,27 @@ - + - + - - + + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - + + + + - + diff --git a/Sloth.Jobs.AggieEnterprise.JournalProcessor/Sloth.Jobs.AggieEnterprise.JournalProcessor.csproj b/Sloth.Jobs.AggieEnterprise.JournalProcessor/Sloth.Jobs.AggieEnterprise.JournalProcessor.csproj index 648fb43e..de8ab4e9 100644 --- a/Sloth.Jobs.AggieEnterprise.JournalProcessor/Sloth.Jobs.AggieEnterprise.JournalProcessor.csproj +++ b/Sloth.Jobs.AggieEnterprise.JournalProcessor/Sloth.Jobs.AggieEnterprise.JournalProcessor.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net10.0 enable enable 738f155f-718e-45d3-aceb-cb0b5d4a04f8 @@ -15,6 +15,10 @@ + + + + diff --git a/Sloth.Jobs.AggieEnterprise.JournalProcessor/appsettings.json b/Sloth.Jobs.AggieEnterprise.JournalProcessor/appsettings.json index af61addf..5d40d58e 100644 --- a/Sloth.Jobs.AggieEnterprise.JournalProcessor/appsettings.json +++ b/Sloth.Jobs.AggieEnterprise.JournalProcessor/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Logging": { "IncludeScopes": false, diff --git a/Sloth.Jobs.Core/Sloth.Jobs.Core.csproj b/Sloth.Jobs.Core/Sloth.Jobs.Core.csproj index 11e4ac05..6b78633a 100644 --- a/Sloth.Jobs.Core/Sloth.Jobs.Core.csproj +++ b/Sloth.Jobs.Core/Sloth.Jobs.Core.csproj @@ -7,18 +7,18 @@ - - - - - - - - - - - - + + + + + + + + + + + + diff --git a/Sloth.Jobs.CyberSource.BankReconcile/Sloth.Jobs.CyberSource.BankReconcile.csproj b/Sloth.Jobs.CyberSource.BankReconcile/Sloth.Jobs.CyberSource.BankReconcile.csproj index 512a34ec..f6a80899 100644 --- a/Sloth.Jobs.CyberSource.BankReconcile/Sloth.Jobs.CyberSource.BankReconcile.csproj +++ b/Sloth.Jobs.CyberSource.BankReconcile/Sloth.Jobs.CyberSource.BankReconcile.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net10.0 738f155f-718e-45d3-aceb-cb0b5d4a04f8 @@ -13,6 +13,10 @@ + + + + diff --git a/Sloth.Jobs.CyberSource.BankReconcile/appsettings.json b/Sloth.Jobs.CyberSource.BankReconcile/appsettings.json index 51f9a685..cb27cfe5 100644 --- a/Sloth.Jobs.CyberSource.BankReconcile/appsettings.json +++ b/Sloth.Jobs.CyberSource.BankReconcile/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Stackify": { "AppName": "Sloth.Jobs.CyberSource.BankReconcile", diff --git a/Sloth.Jobs.Notifications/Sloth.Jobs.Notifications.csproj b/Sloth.Jobs.Notifications/Sloth.Jobs.Notifications.csproj index ccadce78..a5edb9b9 100644 --- a/Sloth.Jobs.Notifications/Sloth.Jobs.Notifications.csproj +++ b/Sloth.Jobs.Notifications/Sloth.Jobs.Notifications.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net10.0 738f155f-718e-45d3-aceb-cb0b5d4a04f8 @@ -13,6 +13,10 @@ + + + + diff --git a/Sloth.Jobs.Notifications/appsettings.json b/Sloth.Jobs.Notifications/appsettings.json index 33887969..41eaf033 100644 --- a/Sloth.Jobs.Notifications/appsettings.json +++ b/Sloth.Jobs.Notifications/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Sparkpost": { "ApiKey": "[External]", diff --git a/Sloth.Jobs.WebHooks.Resend/Sloth.Jobs.WebHooks.Resend.csproj b/Sloth.Jobs.WebHooks.Resend/Sloth.Jobs.WebHooks.Resend.csproj index ccadce78..a5edb9b9 100644 --- a/Sloth.Jobs.WebHooks.Resend/Sloth.Jobs.WebHooks.Resend.csproj +++ b/Sloth.Jobs.WebHooks.Resend/Sloth.Jobs.WebHooks.Resend.csproj @@ -2,7 +2,7 @@ Exe - net6.0 + net10.0 738f155f-718e-45d3-aceb-cb0b5d4a04f8 @@ -13,6 +13,10 @@ + + + + diff --git a/Sloth.Jobs.WebHooks.Resend/appsettings.json b/Sloth.Jobs.WebHooks.Resend/appsettings.json index e2d01748..d8e7e5e7 100644 --- a/Sloth.Jobs.WebHooks.Resend/appsettings.json +++ b/Sloth.Jobs.WebHooks.Resend/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Logging": { "IncludeScopes": false, diff --git a/Sloth.Test/Api/Setup/SlothApi.cs b/Sloth.Test/Api/Setup/SlothApi.cs index a8883afa..a28f14db 100644 --- a/Sloth.Test/Api/Setup/SlothApi.cs +++ b/Sloth.Test/Api/Setup/SlothApi.cs @@ -2,6 +2,7 @@ using Microsoft.AspNetCore.Identity; using Microsoft.AspNetCore.Mvc.Testing; using Microsoft.EntityFrameworkCore; +using Microsoft.EntityFrameworkCore.Infrastructure; using Microsoft.EntityFrameworkCore.Storage; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; @@ -29,6 +30,7 @@ protected override IHost CreateHost(IHostBuilder builder) builder.ConfigureServices(services => { services.RemoveAll(typeof(DbContextOptions)); + services.RemoveAll(typeof(IDbContextOptionsConfiguration)); services.AddIdentity() .AddEntityFrameworkStores() .AddUserManager(); diff --git a/Sloth.Test/Sloth.Test.csproj b/Sloth.Test/Sloth.Test.csproj index dedd84a4..77380e0b 100644 --- a/Sloth.Test/Sloth.Test.csproj +++ b/Sloth.Test/Sloth.Test.csproj @@ -1,14 +1,14 @@  - net6.0 + net10.0 - + - - + + diff --git a/Sloth.Web/Sloth.Web.csproj b/Sloth.Web/Sloth.Web.csproj index 4841b318..9c73b1a9 100644 --- a/Sloth.Web/Sloth.Web.csproj +++ b/Sloth.Web/Sloth.Web.csproj @@ -1,7 +1,7 @@ - net6.0 + net10.0 true Latest false @@ -15,27 +15,28 @@ - - + + + - + all runtime; build; native; contentfiles; analyzers; buildtransitive - - - - - - - - + + + + + + + + - + - + diff --git a/Sloth.Web/appsettings.json b/Sloth.Web/appsettings.json index 7050983b..bac67339 100644 --- a/Sloth.Web/appsettings.json +++ b/Sloth.Web/appsettings.json @@ -1,6 +1,6 @@ { "ConnectionStrings": { - "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true" + "DefaultConnection": "Server=.\\sqlexpress;Database=sloth;Trusted_Connection=True;MultipleActiveResultSets=true;TrustServerCertificate=True" }, "Sparkpost": { "ApiKey": "[External]", diff --git a/Sloth.sln b/Sloth.sln index d50f1bff..6ec20e51 100644 --- a/Sloth.sln +++ b/Sloth.sln @@ -1,7 +1,7 @@  Microsoft Visual Studio Solution File, Format Version 12.00 -# Visual Studio Version 17 -VisualStudioVersion = 17.11.35327.3 +# Visual Studio Version 18 +VisualStudioVersion = 18.6.11822.322 stable MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sloth.Core", "Sloth.Core\Sloth.Core.csproj", "{B2E2E365-565E-4A58-AFF2-EA468C89DE6B}" EndProject @@ -22,8 +22,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sloth.Integrations.Cybersou EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sloth.Web", "Sloth.Web\Sloth.Web.csproj", "{1C25DDA5-6D1B-4DD1-B194-2938503F758E}" EndProject -Project("{00D1A9C2-B5F0-4AF3-8072-F6C62B433612}") = "Sloth.Sql", "Sloth.Sql\Sloth.Sql.sqlproj", "{89F7C7D5-6BAA-48EC-9FE7-97D88EE4F20D}" -EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Jobs", "Jobs", "{69F922A0-BE9E-4C89-AF91-51629451D3A0}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Sloth.Jobs.CyberSource.BankReconcile", "Sloth.Jobs.CyberSource.BankReconcile\Sloth.Jobs.CyberSource.BankReconcile.csproj", "{609AE699-4CF5-46EF-A7C5-52F0290DCDDE}" @@ -66,8 +64,6 @@ Global {1C25DDA5-6D1B-4DD1-B194-2938503F758E}.Debug|Any CPU.Build.0 = Debug|Any CPU {1C25DDA5-6D1B-4DD1-B194-2938503F758E}.Release|Any CPU.ActiveCfg = Release|Any CPU {1C25DDA5-6D1B-4DD1-B194-2938503F758E}.Release|Any CPU.Build.0 = Release|Any CPU - {89F7C7D5-6BAA-48EC-9FE7-97D88EE4F20D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {89F7C7D5-6BAA-48EC-9FE7-97D88EE4F20D}.Release|Any CPU.ActiveCfg = Release|Any CPU {609AE699-4CF5-46EF-A7C5-52F0290DCDDE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {609AE699-4CF5-46EF-A7C5-52F0290DCDDE}.Debug|Any CPU.Build.0 = Debug|Any CPU {609AE699-4CF5-46EF-A7C5-52F0290DCDDE}.Release|Any CPU.ActiveCfg = Release|Any CPU From b8c098e03a0be21745acb7cfb4e9e4f8368969c1 Mon Sep 17 00:00:00 2001 From: Jason Sylvestre Date: Fri, 5 Jun 2026 09:06:35 -0700 Subject: [PATCH 2/3] Update Azure Pipeline .NET SDK to 10.0.x Aligns the build environment with the application's upgrade to .NET 10, ensuring consistency during automated builds. --- azure-pipelines.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/azure-pipelines.yml b/azure-pipelines.yml index 188c8594..5af4d9cd 100644 --- a/azure-pipelines.yml +++ b/azure-pipelines.yml @@ -19,7 +19,7 @@ steps: - task: UseDotNet@2 inputs: packageType: 'sdk' - version: '6.0.x' + version: '10.0.x' - task: NodeTool@0 inputs: From a8bca6ad927fe5aefd3199e8faf3f3ff259a11c6 Mon Sep 17 00:00:00 2001 From: Jason Sylvestre Date: Fri, 5 Jun 2026 09:28:39 -0700 Subject: [PATCH 3/3] Remove legacy SqlClient dependency from Sloth.Core --- Sloth.Core/Sloth.Core.csproj | 1 - 1 file changed, 1 deletion(-) diff --git a/Sloth.Core/Sloth.Core.csproj b/Sloth.Core/Sloth.Core.csproj index 39930304..41a3448b 100644 --- a/Sloth.Core/Sloth.Core.csproj +++ b/Sloth.Core/Sloth.Core.csproj @@ -31,7 +31,6 @@ -