Centralize NuGet package versions for stable samples - #665
Open
shisan (qiutongMS) wants to merge 6 commits into
Open
Centralize NuGet package versions for stable samples#665shisan (qiutongMS) wants to merge 6 commits into
shisan (qiutongMS) wants to merge 6 commits into
Conversation
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
shisan (qiutongMS)
force-pushed
the
integration/main-cpm
branch
from
September 1, 2026 07:08
5f2e4f9 to
56b1e06
Compare
Exclude native project outputs from WAP framework compatibility checks and align the central Win2D version with the PackageReference-compatible release/experimental baseline. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why this change
release/experimentalalready uses Central Package Management (CPM), introduced for native projects in #579 and propagated to the 2.0 line in #590. The broader reconciliation in #660 made the remaining structural difference clear:release/experimentalhas a centrally managed dependency graph, whilemainstill materializes versions across individual projects and nativepackages.configfiles.This PR brings that proven CPM model to the current stable
maintree while preserving its sample set and behavior. Versions already present onmainremain the baseline, with Win2D updated to the PackageReference-compatible 1.3.2 version already validated onrelease/experimental.CPM provides a few practical benefits for this repository:
Directory.Packages.propsinstead of being repeated across dozens of projects.VersionOverrideor a scoped package file.packages.config,.propsimports,.targetsimports, and missing-package checks.PackageReferenceitems describe what each sample consumes, while NuGet supplies the generated imports.What changes
The large file count is primarily mechanical. This PR:
Samples/Directory.Packages.propsas the central version source for the stable 2.4 sample graph.Samples/WindowsML/Directory.Packages.props.DynamicDependenciesSample/Directory.Packages.propsbecause that root-level sample does not inherit fromSamples; its existing Windows App SDK 1.5 versions are intentionally preserved.VersionOverriderather than duplicating the common version.packages.configtoPackageReference, removing 44 generatedpackages.configfiles and their missing-import targets.Samples/Directory.Build.targets.UpdateVersions.ps1to update only explicitly selectedDirectory.Packages.propsfiles instead of recursively rewriting project files.There are no new samples, sample relocations, source-code changes, or Windows AI feature expansions in this PR.
Version boundaries and intentional exception
Samplesgraphmain, except for the required Win2D 1.3.2 PackageReference compatibility update.packages.configunchanged. SecureUI is expected to be considered for migration out of stablemainin a follow-up reconciliation change, so this PR avoids adding a one-off native-to-WAP restore workaround for it. Its packaging project still consumes centrally managed versions.This PR deliberately does not add or remove samples, move DynamicDependencies, consolidate packaging projects, change manifests or source behavior, or update unrelated repository metadata. Those broader reconciliation decisions remain outside this focused dependency-management change.
Suggested review order
The functional changes are separated so reviewers do not need to review all 196 files as one undifferentiated change:
04d81038— central package files and native restore infrastructure.018c65fb— mechanical managed-project version removal.58d1db1d— standard nativePackageReferenceconversions.bea362e1— independently pinned native projects, including WindowsML and DynamicDependencies.56b1e069— CPM-aware version update tooling.1aea53e2— native WAP restore metadata and Win2D PackageReference compatibility fixes.For the repetitive project changes, the useful review is to confirm the intended package set and any
VersionOverrideexceptions. The deleted explicit.props/.targetsimports andEnsureNuGetPackageBuildImportsblocks are NuGet-generated materialization that PackageReference now supplies.Validation
Target Release
Windows App SDK 2.4 / stable
maindependency-management reconciliation.