Skip to content

feat: Add support for NuGet Central Package Management#49

Closed
rcdailey wants to merge 1 commit into
spectresystems:masterfrom
rcdailey:feat/central-package-management
Closed

feat: Add support for NuGet Central Package Management#49
rcdailey wants to merge 1 commit into
spectresystems:masterfrom
rcdailey:feat/central-package-management

Conversation

@rcdailey
Copy link
Copy Markdown

@rcdailey rcdailey commented Jul 18, 2025

Summary

Adds support for NuGet Central Package Management (CPM) to resolve package versions from Directory.Packages.props files, preventing "Version '' for package is not valid" errors when using PackageReference elements without explicit versions.

Changes

  • Added CentralPackageManager class: Detects and parses Directory.Packages.props files, handles ManagePackageVersionsCentrally property detection with fallback to Directory.Build.props
  • Enhanced ProjectBuilder: Integrated central package management with ResolvePackageVersion method that prioritizes PackageReference > PackageVersion > GlobalPackageReference
  • Comprehensive test coverage: Added integration tests for all central package management scenarios including PackageVersion elements, GlobalPackageReference elements, disabled management, and Directory.Build.props fallback

Test Coverage

  • Basic central package management with PackageVersion elements
  • GlobalPackageReference support for analyzer packages
  • Disabled central management scenarios
  • Directory.Build.props fallback behavior
  • Maintains backward compatibility with existing projects

Fixes #39

@CLAassistant
Copy link
Copy Markdown

CLAassistant commented Jul 18, 2025

CLA assistant check
All committers have signed the CLA.

Add support for Directory.Packages.props files with ManagePackageVersionsCentrally.
Handles both PackageVersion and GlobalPackageReference elements to resolve
package versions centrally, preventing "Version '' for package is not valid" errors.

Enhanced to check Directory.Build.props as fallback location for
ManagePackageVersionsCentrally property, following MSBuild conventions.

Includes comprehensive integration tests covering:
- Basic central package management with PackageVersion elements
- GlobalPackageReference support for analyzer packages
- Disabled central management scenarios
- Directory.Build.props fallback behavior

Fixes spectresystems#39
@rcdailey rcdailey force-pushed the feat/central-package-management branch from a9c5e6e to 952bbad Compare July 18, 2025 20:38
@rcdailey rcdailey changed the title Add support for NuGet Central Package Management feat: Add support for NuGet Central Package Management Jul 18, 2025
@patriksvensson
Copy link
Copy Markdown
Member

@rcdailey Enabled the PR workflow. Will take a look after it passes

@rcdailey
Copy link
Copy Markdown
Author

rcdailey commented Feb 6, 2026

Closing since I have not heard anything back from the maintainers.

@rcdailey rcdailey closed this Feb 6, 2026
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.

Error with nuget package declared with 'GlobalPackageReference' tag in Directory.Packages.props

3 participants