chore: migrate the build pipeline from NUKE to Fallout - #1017
Conversation
There was a problem hiding this comment.
🟡 Changes recommended
The new Fallout parameters/schema currently leave build project selection ambiguous and can default to a non-existent build project path, which can break fallout-based runs.
Once you've addressed the issues Copilot identified, you can request another Copilot review.
Pull request overview
This PR migrates the repository’s build orchestration from NUKE to Fallout by updating the pipeline build project, build scripts, and CI configuration to use Fallout packages and conventions.
Changes:
- Switched
Pipeline/*build code fromNuke.Common*APIs/packages toFallout.*equivalents. - Updated build scripts and ignore rules to use
.fallout/tempinstead of.nuke/temp. - Updated CI workflows and supporting configuration/docs to reflect the Fallout-based build.
File summaries
| File | Description |
|---|---|
| Source/Directory.Build.props | Updates inline comment to reference Fallout compile step. |
| Pipeline/Configuration.cs | Replaces NUKE tooling import with Fallout tooling import. |
| Pipeline/BuildExtensions.cs | Updates CI/Sonar imports from NUKE to Fallout. |
| Pipeline/Build.UnitTest.cs | Migrates build target code to Fallout namespaces/tools. |
| Pipeline/Build.Pack.cs | Migrates pack target to Fallout namespaces/utilities. |
| Pipeline/Build.MutationTests.cs | Migrates mutation test target to Fallout namespaces/tools. |
| Pipeline/Build.FrameworkTest.cs | Migrates framework test target to Fallout namespaces/tools. |
| Pipeline/Build.csproj | Replaces NUKE packages/properties with Fallout equivalents and adds NuGet.Frameworks. |
| Pipeline/Build.cs | Switches base build type from NukeBuild to FalloutBuild and updates imports. |
| Pipeline/Build.Compile.cs | Migrates compile target dependencies (DotNet/GitVersion/etc.) to Fallout. |
| Pipeline/Build.CodeCoverage.cs | Migrates report generator usage to Fallout tooling. |
| Pipeline/Build.CodeAnalysis.cs | Migrates SonarScanner usage to Fallout tooling. |
| Pipeline/Build.Benchmarks.cs | Migrates benchmark target dependencies to Fallout tooling. |
| Pipeline/Build.ApiChecks.cs | Migrates API checks target to Fallout tooling. |
| global.json | Changes SDK roll-forward policy to latestPatch. |
| Directory.Packages.props | Replaces NUKE package versions with Fallout versions and adds NuGet.Frameworks. |
| build.sh | Updates temp directory path from .nuke/temp to .fallout/temp. |
| build.ps1 | Updates temp directory path from .nuke/temp to .fallout/temp. |
| .gitignore | Updates ignored temp directory from .nuke/temp to .fallout/temp. |
| .github/workflows/ci.yml | Updates CI .NET SDK version spec for 10.x to 10.0.3xx. |
| .github/workflows/ci-analysis.yml | Updates analysis workflow .NET SDK version spec for 10.x to 10.0.3xx. |
| .github/workflows/build.yml | Updates build workflow .NET SDK version spec for 10.x to 10.0.3xx. |
| .github/dependabot.yml | Renames dependency group/patterns from NUKE to Fallout. |
| .github/copilot-instructions.md | Updates build-system references and Fallout temp path guidance. |
| .fallout/parameters.json | Adds Fallout parameters file for solution selection. |
| .fallout/build.schema.json | Updates schema target list and renames NukeBuild definition to FalloutBuild, adding BuildProjectFile. |
Review details
Suppressed comments (1)
.fallout/build.schema.json:128
- The
BuildProjectFileschema description currently states a default ofbuild/_build.csproj, but that file doesn’t exist in this repository. Consider removing the repository-incorrect default from the description so IDE hints/docs don’t point contributors to a non-existent path.
- Files reviewed: 25/27 changed files
- Comments generated: 1
- Review effort level: Lite
💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.
There was a problem hiding this comment.
🔵 Needs a closer look
Fallout configuration is incomplete/inconsistent for direct Fallout tool invocation (notably missing explicit build project path) and includes documentation/schema text issues that should be corrected as part of the migration.
Review details
Suppressed comments (2)
Previously missed (1) — in code that hasn't changed since the last review.
.fallout/build.schema.json:155
- Minor typo/capitalization: "sonarcloud" should be "SonarCloud" (product name) in this schema description.
.github/copilot-instructions.md:129
- The documentation here says global.json requires .NET SDK 8.0.407, but global.json in this PR pins the SDK to 10.0.300. Updating this line avoids confusing contributors about the required SDK.
### Key Configuration Files
- **global.json**: SDK version requirements (.NET 8.0.407)
- **Directory.Packages.props**: Centralized package management
- **aweXpect.slnx**: Main solution file
- **Pipeline/Build.cs**: Fallout build configuration
- Files reviewed: 25/27 changed files
- Comments generated: 0 new
- Review effort level: Lite
Test Results 7 files ±0 7 suites ±0 51s ⏱️ +6s Results for commit 38ac8dd. ± Comparison against base commit 2d32dc7. This pull request removes 126 and adds 124 tests. Note that renamed tests count towards both.♻️ This comment has been updated with latest results. |
… pipeline The Nuke build evaluates test projects in-process with the MSBuild API of the installed SDK. Since the runners picked up SDK 10.0.400, its MSBuild expects NuGet.Frameworks 7.9.0.0, while Nuke transitively loads 6.12.1, which fails with "manifest definition does not match the assembly reference" in GetTargetFrameworks() for projects with a singular TargetFramework. - Reference NuGet.Frameworks 7.9.0 directly from the build project so the loaded assembly matches the SDK. - Pin global.json to the 10.0.3xx band via rollForward=latestPatch and make the workflows install 10.0.3xx so the runner SDK can no longer drift.
NUKE 10.x is the last NUKE release; development continues in the Fallout hard-fork. Migrated with `fallout-migrate` (Fallout 10.4.0) and finished the parts the tool leaves alone: central package versions, .gitignore, the dependabot group, and the NUKE mentions in the docs. The `.gitignore` entry for the temp directory also lost its leading `./`, which git never matched, so the new `.fallout/temp` folder is really ignored. Fallout still evaluates projects in-process with the SDK's MSBuild, so the NuGet.Frameworks and SDK band pins from the previous commit stay in place.
…tnet test`
Microsoft.Testing.Platform 2.3.3 refuses to run through the VSTest bridge on
the .NET 10 SDK ("Testing with VSTest target is no longer supported"), so the
`dotnet test --no-build` invocation in `XunitTestingPlatformFrameworks` exited
with code 1 before running any test.
Start the Microsoft.Testing.Platform executable directly with `dotnet run`,
as the TUnit target already does, keeping the xunit TRX reporter arguments.
The `TestingPlatformDotnetTestSupport` opt-in only served the `dotnet test`
path and is removed.
`dotnet fallout` looks for `build/_build.csproj` unless `BuildProjectFile` is set in `.fallout/parameters.json`, so direct tool invocation failed with "Could not locate build project". The bootstrap scripts were unaffected because they hardcode the project path. Also rename the GitHub client user agent left over from NUKE.
The block registered NUKE's commercial NuGet feed when NUKE_ENTERPRISE_TOKEN was set. Fallout has no equivalent and its own bootstrap template carries no such block, so it is dead code after the migration.
f52b874 to
38ac8dd
Compare
There was a problem hiding this comment.
🔵 Needs a closer look
The updated DotNetRun invocation for xUnit testing platform passes space-joined flag/value strings as single arguments, which is likely to break runner argument parsing in CI/local builds.
Review details
Suppressed comments (2)
Previously missed (2) — in code that hasn't changed since the last review.
.fallout/build.schema.json:67
- The schema was migrated to
FalloutBuild, but theNoLogooption description still references the "NUKE" logo, which is confusing for users of the Fallout-based build pipeline.
Pipeline/Build.FrameworkTest.cs:133 DotNetRunis new here, but theSetProcessAdditionalArgumentsbelow uses space-joined flag/value strings (e.g.--results-directory {…}). In this build pipeline, additional args are treated as discrete arguments (see e.g.AddProcessAdditionalArguments("/overrideconfig", "tag-prefix=core/v")), so embedding spaces will pass a single argument containing a space and is likely to be mis-parsed by the test runner.
- Files reviewed: 26/27 changed files
- Comments generated: 0 new
- Review effort level: Lite
There was a problem hiding this comment.
🔵 Needs a closer look
It changes core build/CI infrastructure (tooling, SDK banding, and test execution strategy) and should be validated by a human reviewer via CI outcomes and release-impact awareness.
Review details
- Files reviewed: 26/27 changed files
- Comments generated: 0 new
- Review effort level: Lite
|
|
This is addressed in release v2.36.0. |
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.
NUKE no longer supports the .NET SDK the build agents install, so CI fails before it reaches any target. This ports the migration the core repository made in Testably/aweXpect#1017. - Rename `.nuke` to `.fallout` and point the Fallout global tool at `Pipeline/Build.csproj` through `BuildProjectFile` in `parameters.json`. - Replace Nuke.Common/Nuke.Components 10.1.0 with Fallout.Common/ Fallout.Components 10.4.0 and rewrite the pipeline namespaces: `Nuke.Common.ProjectModel` becomes `Fallout.Solutions`, everything else `Fallout.Common.*`. - Pin NuGet.Frameworks to 7.9.0: the SDK's MSBuild expects `NuGet.Frameworks 7.9.0.0` while the build host otherwise resolves 6.x transitively, which breaks in-process project evaluation. - Pin the SDK to the 10.0.3xx band in `global.json` and the workflows. `global.json`, the workflow `dotnet-version` lists and the NuGet.Frameworks pin have to be bumped together from now on. - Drop the NUKE enterprise feed handling from the bootstrap scripts and ignore `.fallout/temp/`. Fallout 10.4.0 is the latest listed release; the entire 11.0.x band is unlisted on nuget.org. Verified locally: the pipeline project compiles, `--help` lists every target, and `UnitTests` and `Pack` succeed in Release.



Fixes the CI break from the .NET SDK 10.0.400 runner update and migrates the build pipeline from NUKE to Fallout.
Root cause: SDK 10.0.400's MSBuild expects
NuGet.Frameworks 7.9.0.0, but the build host loads 6.x via NUKE, so in-process project evaluation fails with an assembly mismatch. Fallout has the same issue (Fallout-build/Fallout#638).Changes
NuGet.Frameworks 7.9.0in the build project and the SDK to the 10.0.3xx band (global.json, workflows).fallout-migrate, plus manual follow-ups (package versions, dependabot, docs,BuildProjectFilein.fallout/parameters.json).dotnet run; Microsoft.Testing.Platform 2.3.3 no longer supportsdotnet testthrough the VSTest bridge on the .NET 10 SDK..gitignoretemp-folder entry, whose leading./git never matched.Verified locally: build project compiles,
fallout --helplists all targets,XunitTestingPlatformFrameworkspasses. Future SDK band bumps must updateglobal.json, the workflows and theNuGet.Frameworkspin together.