Skip to content

feat: Implement MSBuild Central Package Management#2706

Open
Meir017 wants to merge 2 commits intotomkerkhove:masterfrom
Meir017:feature/centralized-package-management
Open

feat: Implement MSBuild Central Package Management#2706
Meir017 wants to merge 2 commits intotomkerkhove:masterfrom
Meir017:feature/centralized-package-management

Conversation

@Meir017
Copy link
Copy Markdown

@Meir017 Meir017 commented Nov 16, 2025

Summary

This PR implements MSBuild's Central Package Management (CPM) to manage all 60+ NuGet package versions across 18 projects from a single location.

Changes

  • ✅ Created src/Directory.Packages.props with ManagePackageVersionsCentrally enabled
  • ✅ Organized all package versions into 11 categories (Azure, Microsoft Extensions, ASP.NET Core, Observability, Logging, Configuration, Utilities, API Documentation, Testing, Security, Development Tools)
  • ✅ Removed Version attributes from all PackageReference elements in 18 project files
  • ✅ Standardized Guard.Net to Guard.NET (uppercase) across all projects
  • ✅ Fixed Azure.Monitor.Query version inconsistency (standardized to 1.4.0)
  • ✅ Added comments for security-pinned packages explaining they address known vulnerabilities
  • ✅ Solution builds successfully with centralized package management

Benefits

✅ Single source of truth for package versions
✅ Easier version updates via Renovate
✅ Prevents version conflicts across projects
✅ Simplified maintenance for the solution
✅ Better dependency visibility for contributors
✅ Consistent versions across all 18 projects

Testing

  • Built entire solution successfully
  • All 18 projects compile without errors
  • Package references resolve correctly from central file

Closes #2705

- Create Directory.Packages.props with 60+ package versions organized by category
- Enable ManagePackageVersionsCentrally property
- Remove Version attributes from all PackageReference elements in 18 project files
- Standardize Guard.Net to Guard.NET (uppercase) across all projects
- Fix Azure.Monitor.Query version inconsistency (standardized to 1.4.0)
- Add security package comments explaining explicitly pinned versions

Closes tomkerkhove#2705
@Meir017 Meir017 requested a review from tomkerkhove as a code owner November 16, 2025 10:18
@github-actions
Copy link
Copy Markdown

Thank you for your contribution! 🙏 We will review it as soon as possible.

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Nov 16, 2025

CLA assistant check
All committers have signed the CLA.

Copy link
Copy Markdown
Owner

@tomkerkhove tomkerkhove left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you!

@Meir017
Copy link
Copy Markdown
Author

Meir017 commented Nov 17, 2025

Looks like I missed the docker files, I'll see what's missing here

@Meir017 Meir017 changed the title Implement MSBuild Central Package Management feat: Implement MSBuild Central Package Management Nov 17, 2025
@Meir017
Copy link
Copy Markdown
Author

Meir017 commented Nov 17, 2025

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement MSBuild Central Package Management

3 participants