Skip to content

Migrate to centralized NuGet package management (CPM)#940

Merged
Tyrrrz merged 2 commits intoTyrrrz:masterfrom
standleypg:centralized-nugets
Feb 26, 2026
Merged

Migrate to centralized NuGet package management (CPM)#940
Tyrrrz merged 2 commits intoTyrrrz:masterfrom
standleypg:centralized-nugets

Conversation

@standleypg
Copy link
Contributor

Introduces Directory.Packages.props to centralize NuGet package version management across all projects in the solution. All package versions are now defined in a single location.

Changes

  • Added Directory.Packages.props at the solution root.
  • Removed Version attributes from all <PackageReference> elements in .csproj files.
  • Consolidated package version definitions into the centralized file.

Notes

This change does not affect runtime behavior. It standardizes dependency management and simplifies future version updates.

Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This pull request migrates the YoutubeExplode solution to use centralized NuGet package management (CPM) by introducing a Directory.Packages.props file at the solution root. This standardizes how package versions are managed across all projects, making it easier to maintain consistent dependency versions and simplify future updates.

Changes:

  • Added Directory.Packages.props with centralized version definitions for all 24 NuGet packages used across the solution
  • Removed Version attributes from all <PackageReference> elements in 6 project files while preserving other attributes like PrivateAssets and Condition
  • Unified the PolyShim package version from 2.3.0 (in Converter project) to 2.5.0 (matching other projects)

Reviewed changes

Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Directory.Packages.props New file defining centralized package versions for all 24 NuGet packages with ManagePackageVersionsCentrally enabled
YoutubeExplode/YoutubeExplode.csproj Removed version attributes from 9 package references while maintaining conditional references and other attributes
YoutubeExplode.Tests/YoutubeExplode.Tests.csproj Removed version attributes from 8 test-related package references
YoutubeExplode.Demo.Gui/YoutubeExplode.Demo.Gui.csproj Removed version attributes from 7 Avalonia and UI-related package references
YoutubeExplode.Demo.Cli/YoutubeExplode.Demo.Cli.csproj Removed version attribute from single CSharpier.MsBuild package reference
YoutubeExplode.Converter/YoutubeExplode.Converter.csproj Removed version attributes from 4 package references, now using unified PolyShim version
YoutubeExplode.Converter.Tests/YoutubeExplode.Converter.Tests.csproj Removed version attributes from 8 test-related package references

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@Tyrrrz Tyrrrz merged commit 31cefef into Tyrrrz:master Feb 26, 2026
7 checks passed
@Tyrrrz
Copy link
Owner

Tyrrrz commented Feb 26, 2026

Thank you for the PR!

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants