Remove .Net 8 targets
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>Sacs</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@
|
||||
<TargetFrameworks>net10.0-android;net10.0-ios;net10.0-maccatalyst</TargetFrameworks>
|
||||
<TargetFrameworks Condition="$([MSBuild]::IsOSPlatform('windows'))">$(TargetFrameworks);net10.0-windows10.0.19041.0</TargetFrameworks>
|
||||
<!-- Uncomment to also build the tizen app. You will need to install tizen by following this: https://github.com/Samsung/Tizen.NET -->
|
||||
<!-- <TargetFrameworks>$(TargetFrameworks);net8.0-tizen</TargetFrameworks> -->
|
||||
<!-- <TargetFrameworks>$(TargetFrameworks);net10.0-tizen</TargetFrameworks> -->
|
||||
<UseMaui>true</UseMaui>
|
||||
<SingleProject>true</SingleProject>
|
||||
<ImplicitUsings>enable</ImplicitUsings>
|
||||
|
||||
@@ -11,4 +11,4 @@ Last updated: 2026-09-11
|
||||
|
||||
| Component | Scope | Status | Date reviewed | Next steps | Notes |
|
||||
|---|---|---|---|---|---|
|
||||
| `SacsMobileMaui` | Project | .NET 10 migration complete; follow-up required | 2026-09-11 | Migrate Sandtrap and Sandalwood, validate Apple targets on a Mac, then address the compatibility APIs and focused defects recorded in `topics.md`. | The project targets .NET 10 with MAUI 10.0.20. Windows and Android Debug builds pass with zero errors. Nullable picker changes are handled while preserving the controls' existing non-null public API. Compatibility API, UI-thread synchronization, handler-cast, `AllowInvalid`, and resource-stream work remains tracked. |
|
||||
| `SacsMobileMaui` | Project | .NET 10 migration complete; follow-up required | 2026-09-11 | Validate Apple targets on a Mac, then address the compatibility APIs and focused defects recorded in `topics.md`. | The project and both active consumers target .NET 10 with MAUI 10.0.20. Windows runtime smoke tests pass, and Windows and Android Debug builds complete with zero errors against Common’s final .NET 10-only libraries. Compatibility API, UI-thread synchronization, handler-cast, `AllowInvalid`, and resource-stream work remains tracked. |
|
||||
|
||||
@@ -13,7 +13,6 @@ Last updated: 2026-09-11
|
||||
|
||||
| Priority | Topic | Date noted | Next step | Notes |
|
||||
|---|---|---|---|---|
|
||||
| P1 | Upgrade Sandtrap and Sandalwood to .NET MAUI 10 | 2026-09-10 | Retarget and align each consumer with `SacsMobileMaui`, then build and smoke-test their supported platforms. | The shared library now targets .NET 10 and MAUI 10.0.20. Sandalwood and Sandtrap still require coordinated consumer migrations before Common can remove its temporary .NET 8 targets. |
|
||||
| P2 | Replace obsolete MAUI compatibility APIs | 2026-09-10 | Replace compatibility layouts, `Frame`, `MainPage`, synchronous popup calls, and deprecated expansion options; then remove `Microsoft.Maui.Controls.Compatibility`. | The .NET 10 Windows and Android builds succeed, but retain compatibility references and report the existing API-obsolescence warnings. |
|
||||
| P1 | Make `SamThreadUtil` and form dialogs genuinely asynchronous and deadlock-safe | 2026-09-10 | Replace synchronous UI-thread bridges with `Task`-returning APIs, update the Sandtrap caller, and add focused tests. | The void `InvokeOnMainThreadSync` overload never waits; the generic overload and `DisplayConfirmSync` block on `Task.Result` and can deadlock on the UI thread. `DisplayAlertSync` also passes an async lambda to `Action`, producing `async void` behavior. |
|
||||
| P2 | Correct MAUI native handler type checks | 2026-09-10 | Use `SamEditor` in editor mappings and `SamPicker` in picker mappings; validate each platform-specific option. | Several editor and every picker option currently cast to the wrong custom control type, so configured native styling is silently skipped. |
|
||||
@@ -43,3 +42,4 @@ Last updated: 2026-09-11
|
||||
| Establish authoritative source control for Sandtrap and Sandalwood | 2026-09-10 | 2026-09-10 | 2026-09-10 | Separate repositories were initialized, given baseline guidance and tracking files, committed, and pushed to their remotes. |
|
||||
| Repair the MAUI workload and validate local targets | 2026-09-10 | 2026-09-11 | 2026-09-11 | SDK 10.0.401 reports coherent .NET 10 Android, iOS, Mac Catalyst, and MAUI Windows workloads. The upgraded shared project restores and builds successfully for Windows and Android; Apple builds still require compatible Mac/Xcode validation. |
|
||||
| Upgrade `SacsMobileMaui` to .NET MAUI 10 | 2026-09-10 | 2026-09-11 | 2026-09-11 | Retargeted Android, iOS, Mac Catalyst, and Windows to .NET 10; aligned MAUI packages to 10.0.20; and adapted date/time controls to MAUI 10 nullable picker values. Windows and Android Debug builds complete with zero errors. |
|
||||
| Upgrade Sandtrap and Sandalwood to .NET MAUI 10 | 2026-09-10 | 2026-09-11 | 2026-09-11 | Both applications now target .NET 10 with MAUI 10.0.20. Windows runtime smoke tests pass, and Windows and Android Debug builds complete with zero errors against the final Common .NET 10-only libraries. Apple validation remains separately tracked in each application repository. |
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>Sarand.Net.Standard</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>Sarand.Net.Standard</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>Sarand.Net.Standard</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFrameworks>net8.0;net10.0</TargetFrameworks>
|
||||
<TargetFramework>net10.0</TargetFramework>
|
||||
<RootNamespace>Sarand.Net.Standard</RootNamespace>
|
||||
</PropertyGroup>
|
||||
|
||||
|
||||
@@ -11,9 +11,9 @@ Last updated: 2026-09-11
|
||||
|
||||
| Component | Scope | Status | Date reviewed | Next steps | Notes |
|
||||
|---|---|---|---|---|---|
|
||||
| `SaCommonVS.sln` | .NET 8/.NET 10 migration build and tests | Multi-target stage complete; passing with warnings | 2026-09-10 | Address the dependency and .NET 10 warnings, then migrate BusinessMgr against the validated Common targets. | Five non-MAUI libraries and `SacsCoreUnitTests` target `net8.0;net10.0`. The supported solution builds with no errors, and 94 of 94 tests pass on each target. BusinessMgr still builds successfully against the .NET 8 outputs. MAUI remains on .NET 9 and is tracked in its project-specific docs. |
|
||||
| `SaCommonVS.sln` | .NET 10 migration build and tests | Migration complete; passing with warnings | 2026-09-11 | Address the separately tracked dependency, security, and .NET 10 warnings. | All supported projects target .NET 10 only. The complete solution builds with zero errors, and 94 of 94 tests pass. BusinessMgr, Sandtrap, and Sandalwood rebuild successfully against the final Common targets. Xamarin remains isolated and unchanged. |
|
||||
| `SacsMobileXamarin` | Migration disposition | Isolated; retained for reference | 2026-09-10 | Keep outside the supported build unless a separately scoped resurrection or migration is approved. | Source is unchanged and available through `SaCommonVS.LegacyXamarin.sln`; see `docs/legacy-xamarin.md`. |
|
||||
| [`SacsMobileMaui`](../SacsMobileMaui/docs/component-reviews.md) | Project | .NET 10 migration complete; tracked in project docs | 2026-09-11 | Migrate Sandtrap and Sandalwood, validate Apple targets on a Mac, and continue API cleanup in the project tracker. | The shared project now targets .NET 10 with MAUI 10.0.20; Windows and Android Debug builds pass with zero errors. |
|
||||
| [`SacsMobileMaui`](../SacsMobileMaui/docs/component-reviews.md) | Project | .NET 10 migration complete; tracked in project docs | 2026-09-11 | Validate Apple targets on a Mac and continue API cleanup in the project tracker. | The shared project and both active mobile consumers target .NET 10. Windows runtime smoke tests pass, and Windows and Android Debug builds complete with zero errors. |
|
||||
| `SacsStandardBase/Base/Procs/SaProcess_Base.cs` | Class | In progress | 2026-09-09 | Complete the Process Base actions recorded in `topics.md`; review derived processes separately for cooperative polling. | Lifecycle state ownership and cancellation lock ordering were changed. Five focused tests pass. Remaining concerns include mixed sync/async execution, durable cancellation outcome, cancellation exception handling, disposal, and status synchronization. |
|
||||
| `SacsStandardBase/Base/Email/SaEmailConsole.cs` | Class | Reviewed; action required | 2026-09-08 | Restore SMTP certificate validation and require the configured TLS mode. Add invalid-certificate and unavailable-TLS tests. | The current SMTP client accepts every server certificate. |
|
||||
| `SacsStandardBase/Base/Helpers/SacsEncryptionHelper.cs` and `SacsStandardBase/Base/Data/SacsAesIvCrypter.cs` | Classes | Reviewed; action required | 2026-09-08 | Design a versioned authenticated-encryption format with legacy migration and tamper tests. | Current CBC encryption is unauthenticated; password-based key derivation uses a fixed salt and low iteration count. |
|
||||
|
||||
+2
-1
@@ -7,7 +7,7 @@ table td {
|
||||
}
|
||||
</style>
|
||||
|
||||
Last updated: 2026-09-10
|
||||
Last updated: 2026-09-11
|
||||
|
||||
## Prioritised Topics to Be Actioned
|
||||
|
||||
@@ -52,3 +52,4 @@ Last updated: 2026-09-10
|
||||
| Pin the Common .NET 10 SDK | 2026-09-10 | 2026-09-10 | 2026-09-10 | Added `global.json` for SDK 10.0.401 with `latestPatch` roll-forward and prerelease SDKs disabled. |
|
||||
| Isolate `SacsMobileXamarin` from the supported Common build | 2026-09-10 | 2026-09-10 | 2026-09-10 | Removed the project from `SaCommonVS.sln` while retaining all source. Added `SaCommonVS.LegacyXamarin.sln` and `docs/legacy-xamarin.md` for reference-only access. The project is outside the supported .NET 10 migration scope. |
|
||||
| Prepare Common libraries for the coordinated .NET 10 migration | 2026-09-10 | 2026-09-10 | 2026-09-10 | `SacsStandardBase`, `SacsStandardDbas`, `SacsStandardProc`, `SacsCoreWeb`, `SacsStandardAccounts`, and `SacsCoreUnitTests` now target `net8.0;net10.0`. The supported solution builds both targets with no errors; 94 of 94 tests pass on each target. BusinessMgr continues to build successfully on .NET 8 against the temporary compatible outputs. New .NET 10 warnings are tracked separately. |
|
||||
| Complete the Common .NET 10 migration | 2026-09-10 | 2026-09-11 | 2026-09-11 | Removed the temporary .NET 8 targets from all supported non-MAUI libraries and tests. The full supported solution restores and builds with zero errors, and 94 of 94 tests pass on .NET 10. BusinessMgr rebuilds successfully with 8 of 8 Control and 13 of 13 Portal tests passing; Sandtrap and Sandalwood build successfully for Windows and Android. The isolated Xamarin reference project remains unchanged on .NET 8. |
|
||||
|
||||
Reference in New Issue
Block a user