Files
BusinessMgr-2019/docs/topics.md
T

5.3 KiB

Topic Tracker

<style> table th, table td { vertical-align: top; } </style>

Last updated: 2026-09-14

Prioritised Topics to Be Actioned

Priority Topic Date noted Next step Notes
P2 Review framework-specific package versions after .NET 10 retargeting 2026-09-10 Review Razor runtime compilation, ODBC, and System.Drawing packages for supported .NET 10 versions and behavior before release validation. The legacy ASP.NET Core Identity package has been replaced with the .NET 10 Identity Core package. Other package versions compile and all tests pass, but several remain on 6.x generations and should not be assumed to be fully supported merely because compilation succeeds.

.NET 10 Dependencies and Sequence

Work item Depends on Unblocks
Commit documentation and tracking changes None A clean pre-migration baseline and focused migration history
Capture BusinessMgr baseline Documentation change separation; current Common-compatible targets; configured integration-test dependencies Evidence for identifying migration regressions
Retarget BusinessMgr libraries Common exposing validated .NET 10-compatible targets Retargeting the web applications and tests
Retarget applications and tests Migrated BusinessMgr libraries; compatible framework-specific packages Full solution validation and removal of temporary Common .NET 8 targets
Complete BusinessMgr validation Successful restore and build; available database and machine configuration Approval to remove temporary compatibility targets from Common

In-Progress Topics

Priority Topic Date noted Date started Next step Notes

Completed Topics

Topic Date noted Date started Date completed Outcome
Migrate BusinessMgr tests from MSTest to NUnit 2026-09-14 2026-09-14 2026-09-15 Replaced MSTest with NUnit 4.6.1, NUnit3TestAdapter 6.3.0, and NUnit.Analyzers 4.15.0 in both test projects. Converted all eight fixtures and 24 tests to NUnit's constraint-style Assert.That model and brought every migrated fixture into line with the repository's section-comment convention. Removed unused Portal SSDT SQL unit-testing references and targets plus one unused transitive Application Insights namespace dependency. The Control base fixture now constructs representative session data instead of passing an uninitialised null value, removing its nullable warning and ensuring its console tests exercise a valid user session. The complete solution builds with the .NET CLI; Control passes 11 tests and Portal passes 13 tests, including coverage collection.
Capture the pre-migration BusinessMgr build and test baseline 2026-09-10 2026-09-10 2026-09-10 Using SDK 10.0.401, restore succeeded. Visual Studio 18 MSBuild built the complete Debug solution successfully, including the SSDT-dependent Portal test project. The .NET CLI built all production projects and the Control tests but reports MSB4278 for the Portal test project's Visual Studio SSDT import, so Visual Studio MSBuild remains required for that project. Common's MailKit 4.13.0 dependency reports NU1902; the CLI build otherwise recorded 20 compiler warnings. Control tests passed 8 of 8 and Portal tests passed 13 of 13.
Pin the BusinessMgr .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. Visual Studio MSBuild remains required for the SSDT-dependent Portal test project.
Migrate BusinessMgr to .NET 10 against compatible Common targets 2026-09-10 2026-09-10 2026-09-10 All eight BusinessMgr projects now target net10.0. Visual Studio 18 MSBuild restored and built the complete solution successfully with no compilation errors. Control tests passed 8 of 8 and Portal tests passed 13 of 13 on .NET 10. Package vulnerability and framework-specific package reviews are tracked separately.
Automate BusinessMgr validation 2026-09-12 2026-09-12 2026-09-12 Added eng/validate.ps1 to locate Visual Studio MSBuild, build the SSDT-dependent solution serially, run both test assemblies, and verify diffs and changed-file line endings. The script passes with 8 of 8 Control and 13 of 13 Portal tests.
Remove vulnerable transitive System.Security.Cryptography.Xml 8.0.2 dependency 2026-09-10 2026-09-13 2026-09-13 Replaced the broad legacy Microsoft.AspNetCore.Identity 2.3.1 reference with Microsoft.Extensions.Identity.Core 10.0.12, matching the only used API, PasswordHasher<TUser>. Three focused tests cover both password helpers, wrong-password rejection, current hash round trips, legacy Identity V3 verification, and rehash detection. Restore and build no longer report NU1903; 11 Control and 13 Portal tests pass, and the package audit reports no vulnerable packages for SaBusMgrStandardBase.
Update BusinessMgr test and coverage tooling 2026-09-14 2026-09-14 2026-09-14 Updated both test projects to Microsoft.NET.Test.Sdk 18.10.0, MSTest 4.4.0, and coverlet collector 10.0.1. Full validation passes without MSTest analyzer warnings, with 11 Control and 13 Portal tests. The optional -CollectCoverage validation mode verifies non-empty Cobertura reports for both suites; the SSDT-based Portal project is published with Visual Studio MSBuild before dotnet vstest.