Remove redundant ODBC references

This commit is contained in:
Andy Howard
2026-09-15 17:46:28 +01:00
parent de07f2120f
commit f5fe1a84ad
8 changed files with 5 additions and 13 deletions
-1
View File
@@ -7,7 +7,6 @@
<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.36" />
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
@@ -20,8 +20,4 @@
<EmbeddedResource Include="Resources\**\*.*" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
</Project>
@@ -26,7 +26,6 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
@@ -21,7 +21,6 @@
<PrivateAssets>all</PrivateAssets>
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
</PackageReference>
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
<ProjectReference Include="..\..\..\Common-VS\Workspace\SacsCoreWeb\SacsCoreWeb.csproj" />
@@ -11,7 +11,6 @@
<PackageReference Include="jQuery" Version="3.7.1" />
<PackageReference Include="jQuery.UI.Combined" Version="1.14.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.36" />
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
@@ -16,7 +16,6 @@
<PackageReference Include="jQuery" Version="3.7.1" />
<PackageReference Include="jQuery.UI.Combined" Version="1.14.1" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.Razor.RuntimeCompilation" Version="6.0.36" />
<PackageReference Include="System.Data.Odbc" Version="6.0.2" />
</ItemGroup>
<ItemGroup>
+2 -2
View File
@@ -7,11 +7,11 @@ table td {
}
</style>
Last updated: 2026-09-14
Last updated: 2026-09-15
| Component | Scope | Status | Date reviewed | Next steps | Notes |
|---|---|---|---|---|---|
| `BusinessMgr.sln` | .NET 10 restore, Debug build, and tests | Migrated; passing with warnings | 2026-09-14 | Review remaining framework-specific packages, perform application smoke tests, then release-validate. | All eight projects target `net10.0`. The complete solution now restores and builds with the .NET CLI after unused SSDT SQL unit-testing scaffolding was removed from the Portal tests. Control tests pass 11 of 11 and Portal tests pass 13 of 13. The Identity-related `NU1903` warnings have been removed. |
| `BusinessMgr.sln` | .NET 10 restore, Debug build, and tests | Migrated; passing with warnings | 2026-09-15 | Review Razor runtime compilation and System.Drawing, perform application smoke tests, then release-validate. | All eight projects target `net10.0`. Six redundant System.Data.Odbc 6.0.2 references were removed; the solution now consumes Common's tested 10.0.12 dependency transitively. Control tests pass 11 of 11 and Portal tests pass 13 of 13. |
| `SaBusMgrStandardBase/Base/Helpers/SbmPasswordHelper.cs` and `SaBusinessMgrCoreWebControl/Control/Helpers/SbmcPasswordHelper.cs` | Password hashing | Dependency upgrade complete; legacy hashes compatible | 2026-09-13 | Preserve the compatibility tests when password-hashing defaults or account migration behavior changes. | Both helpers use `PasswordHasher<TUser>` from `Microsoft.Extensions.Identity.Core` 10.0.12. Current hashes round-trip, wrong passwords fail, and legacy Identity V3 hashes remain valid while being identified for rehash. |
| `eng/validate.ps1` | Repository validation | Complete; passing | 2026-09-14 | Use as the standard validation entry point and extend it when repository-wide checks change. | Restores and builds serially with the .NET CLI, runs 11 Control and 13 Portal NUnit tests, audits the Identity-package-owning project, and verifies changed-file line endings and diffs. |
| `SaBusMgrTest_Control` and `SaBusMgrTest_Portal` | Test framework, SDK, and coverage tooling | Migrated to NUnit; coverage verified | 2026-09-15 | Use NUnit constraint assertions with `Assert.That` wherever possible. | Both projects use Microsoft.NET.Test.Sdk 18.10.0, NUnit 4.6.1, NUnit3TestAdapter 6.3.0, NUnit.Analyzers 4.15.0, and coverlet collector 10.0.1. All tests use NUnit's constraint assertion model; Control passes 11 tests and Portal passes 13 tests. The Control base fixture constructs valid session data from the configured test account, avoiding a null session in console tests. The optional validation coverage mode verifies a non-empty Cobertura report from each suite without an SSDT-specific publish step. |
+3 -2
View File
@@ -7,13 +7,13 @@ table td {
}
</style>
Last updated: 2026-09-14
Last updated: 2026-09-15
## 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. |
| P2 | Review framework-specific package versions after .NET 10 retargeting | 2026-09-10 | Review Razor runtime compilation and System.Drawing packages for supported .NET 10 versions and behavior before release validation. | Identity and ODBC are aligned with .NET 10. The remaining 6.x package generations compile and all tests pass, but should not be assumed to be fully supported merely because compilation succeeds. |
## .NET 10 Dependencies and Sequence
@@ -34,6 +34,7 @@ Last updated: 2026-09-14
| Topic | Date noted | Date started | Date completed | Outcome |
|---|---|---|---|---|
| Consume Common's .NET 10 ODBC dependency | 2026-09-15 | 2026-09-15 | 2026-09-15 | Removed six redundant direct System.Data.Odbc 6.0.2 references. BusinessMgr consumes System.Data.Odbc 10.0.12 transitively through the Common database project where the implementation and eight focused provider tests reside. The solution builds with zero errors; Control passes 11 tests and Portal passes 13 tests. |
| 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. |