Files
Clint Rutkas 784bab1b17 [Deps] Bump System.CommandLine from 2.0.1 to 2.0.12 (#51323)
<!-- Enter a brief description/summary of your PR here. What does it
fix/what does it change/how was it tested (even manually, if necessary)?
-->
## Summary of the Pull Request

Finishes DEP-3 by moving the central System.CommandLine pin from `2.0.1`
to `2.0.12`, the latest 2.0.x servicing release. No code changes are
needed. CLI help, errors, and exit codes stay the same.

<!-- Please review the items on the PR checklist before submitting-->
## PR Checklist

- [ ] Closes: N/A (DEP-3 roadmap item; follows #50884)
<!-- - [ ] Closes: #yyy (add separate lines for additional resolved
issues) -->
- [x] **Communication:** I've discussed this with core contributors
already. If the work hasn't been agreed, this work might be rejected
- [x] **Tests:** Added/updated and all pass (existing tests; version
bump only)
- [ ] **Localization:** All end-user-facing strings can be localized (no
new strings)
- [x] **Dev docs:** Added/updated (`doc/devdocs/cli-conventions.md`)
- [ ] **New binaries:** Added on the required places (none)
- [ ] [JSON for
signing](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ESRPSigning_core.json)
for new binaries
- [ ] [WXS for
installer](https://github.com/microsoft/PowerToys/blob/main/installer/PowerToysSetup/Product.wxs)
for new binaries and localization folder
- [ ] [YML for CI
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/ci/templates/build-powertoys-steps.yml)
for new test projects
- [ ] [YML for signed
pipeline](https://github.com/microsoft/PowerToys/blob/main/.pipelines/release.yml)
- [ ] **Documentation updated:** N/A

<!-- Provide a more detailed description of the PR, other things fixed,
or any additional comments/features here -->
## Detailed Description of the Pull Request / Additional comments

- **Library source is unchanged.** The 2.0.12 commit (dotnet/dotnet
`95017c7`) descends from the 2.0.1 commit (`fad253f`). The last commit
that touches `src/command-line-api/src/System.CommandLine` is `4ad7638`
(2025-11-14) in both, so 2.0.2–2.0.12 are .NET 10 servicing rebuilds.
- **The package layout matches 2.0.1:** the same `net8.0` and
`netstandard2.0` targets, 13 satellite cultures, and no `net8.0`
dependencies. `generateAllFileComponents.ps1` harvests satellites at
build time, so the installer needs no change.
- **AssemblyVersion is now `2.0.12.0`** with the same public key token.
.NET doesn't need binding redirects.
- **Restored anonymously** from `PowerToysPublicDependencies`, where
2.0.12 was already saved. Nothing new was pulled from nuget.org.
NOTICE.md doesn't list this package.

<!-- Describe how you validated the behavior. Add automated tests
wherever possible, but list manual validation steps taken as well -->
## Validation Steps Performed

- `msbuild <proj> -t:Restore -p:RestorePackagesConfig=true
-p:SolutionDir=<repo>\`, run with `NUGET_PLUGIN_PATHS` pointing at an
empty folder, for all 10 consumers and their test projects: all exit 0.
- `tools\build\build.ps1 -Platform x64 -Configuration Debug -Path <dir>`
for 11 consumer and test projects: all exit 0, with no new warnings.
- `vstest.console.exe <dll> /Platform:x64`: LightSwitch.Cli 221/221,
AdvancedPaste.Cli 154/154, PowerDisplay.Cli 130/130, DSC 115/115,
ImageResizer 213/213, Awake 7/7, CmdPal Shell 128 passed and 1 skipped.
- Settings.UI.UnitTests: 426/448 pass, including all 19
`SettingsCliTests`. The 22 failures are `ImageResizer`/`KeyboardManager`
view-model tests where `ResourceLoaderInstance` throws
`FileNotFoundException`. The same 22 tests fail on a 2.0.1 baseline.
- A/B test: 31 calls across 7 CLIs (`--help`, unknown command or option,
invalid values) built against 2.0.1 and 2.0.12. stdout, stderr, and exit
codes are byte-identical.
2026-10-27 22:24:17 +00:00
..