feat: implement central package management and stabilize mobile build #50

Merged
mjasin merged 1 commits from feat/central-package-management into develop 2026-05-21 17:42:29 +00:00
Collaborator

This pull request implements Central Package Management (CPM) across the NexusReader solution to centralize package version definitions, improve package maintainability, and ensure security patch consistency. It also resolves compile issues in the mobile infrastructure and client projects.

Key Changes

1. NuGet Central Package Management (CPM)

  • Created Directory.Packages.props in the solution root containing all solution-wide dependency versions (consolidating 48 packages).
  • Pinned and secured Microsoft.Bcl.Memory to v9.0.14 to resolve a known high-severity vulnerability (CVE-2026-26127).
  • Stripped explicit Version attributes from .csproj files for the core library, web client, web host, UI shared, data access, and testing projects to inherit central version definitions.

2. Mobile / MAUI Projects Stabilization

  • Workload Support & Locally Disabled CPM: Disabled Central Package Management locally (<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>) in both NexusReader.Infrastructure.Mobile.csproj and NexusReader.Maui.csproj to preserve native MAUI workload package integration while cleanly referencing package versions manually.
  • Ambiguity Resolving: Added using aliases for FluentResults.Result to eliminate compiler ambiguity conflicts between Android.App.Result and FluentResults.Result inside Android platform service implementations.
  • Missing Namespaces Fix: Added explicit hosting imports (using Microsoft.Maui; using Microsoft.Maui.Hosting;) and ensured Microsoft.Maui.Essentials references resolve properly in the mobile context.

Verification

  • Build: Successfully built the entire solution with zero compilation errors (dotnet build NexusReader.slnx --no-restore -> Liczba błędów: 0).
  • Tests: All 7 integration and unit tests run and pass successfully (dotnet test NexusReader.slnx --no-restore).
This pull request implements **Central Package Management (CPM)** across the NexusReader solution to centralize package version definitions, improve package maintainability, and ensure security patch consistency. It also resolves compile issues in the mobile infrastructure and client projects. ### Key Changes #### 1. NuGet Central Package Management (CPM) - Created `Directory.Packages.props` in the solution root containing all solution-wide dependency versions (consolidating 48 packages). - Pinned and secured `Microsoft.Bcl.Memory` to `v9.0.14` to resolve a known high-severity vulnerability (CVE-2026-26127). - Stripped explicit `Version` attributes from `.csproj` files for the core library, web client, web host, UI shared, data access, and testing projects to inherit central version definitions. #### 2. Mobile / MAUI Projects Stabilization - **Workload Support & Locally Disabled CPM**: Disabled Central Package Management locally (`<ManagePackageVersionsCentrally>false</ManagePackageVersionsCentrally>`) in both `NexusReader.Infrastructure.Mobile.csproj` and `NexusReader.Maui.csproj` to preserve native MAUI workload package integration while cleanly referencing package versions manually. - **Ambiguity Resolving**: Added using aliases for `FluentResults.Result` to eliminate compiler ambiguity conflicts between `Android.App.Result` and `FluentResults.Result` inside Android platform service implementations. - **Missing Namespaces Fix**: Added explicit hosting imports (`using Microsoft.Maui; using Microsoft.Maui.Hosting;`) and ensured `Microsoft.Maui.Essentials` references resolve properly in the mobile context. --- ### Verification - **Build**: Successfully built the entire solution with zero compilation errors (`dotnet build NexusReader.slnx --no-restore` -> `Liczba błędów: 0`). - **Tests**: All 7 integration and unit tests run and pass successfully (`dotnet test NexusReader.slnx --no-restore`).
Antigravity added 1 commit 2026-05-21 17:39:45 +00:00
mjasin approved these changes 2026-05-21 17:42:20 +00:00
mjasin merged commit 37bec89484 into develop 2026-05-21 17:42:29 +00:00
mjasin deleted branch feat/central-package-management 2026-05-21 17:42:29 +00:00
Sign in to join this conversation.
No Reviewers
No Label
2 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: mjasin/Nexus.Reader#50