Skip to content

Fix PR-CI E2E jobs for the .NET 10 SDK / VS 2026 toolchain - #157

Merged
David Federman (dfederm) merged 1 commit into
mainfrom
dfederm/fix-msbuildcache-e2e-vs-jobs
Jul 17, 2026
Merged

David Federman (dfederm) merged 1 commit into
mainfrom
dfederm/fix-msbuildcache-e2e-vs-jobs

Conversation

@dfederm

Copy link
Copy Markdown
Member

Fix PR-CI E2E jobs for the .NET 10 SDK / VS 2026 toolchain

Summary

The repo now builds against the .NET 10 SDK (DotNetVersion: '10.x'), which is no longer compatible with VS2022's MSBuild. This breaks two of the PR-CI E2E jobs. This change updates .azuredevops/pipelines/pr-ci.yml so the E2E jobs use a Visual Studio version that works with the current toolchain.

Changes

  • Drop the VS2022 E2E job. The E2E job that installed VS2022 (aka.ms/vs/17/release/vs_buildtools.exe) is removed — its E2E test build fails because the .NET 10 SDK no longer works with VS2022's MSBuild.
  • Make the VS 2026 job the canonical VS E2E job. The job that installs VS 2026 (aka.ms/vs/18/stable/vs_buildtools.exe) becomes the single "E2E Tests using VS" job — the job id and display names drop the "2026" suffix while keeping the VS 2026 installer.
  • Install Visual Studio in the "tip of MSBuild repo" E2E job. A VS install step (the same vs/18/stable installer) is added before the "Build MSBuild" step. Building dotnet/msbuild at tip of main (build.cmd /p:CreateBootstrap=true) requires a full Visual Studio >= 18.6, located via vswhere. The hosted windows-latest image only ships VS2022 (17.x), so the build previously failed with No instance of Visual Studio meeting the requirements specified was found ... -version 18.6. The installed VS is discoverable by vswhere regardless of install path and is also available to the E2E test that runs the bootstrapped MSBuild.

Why

The move to the .NET 10 SDK / VS 2026 toolchain means VS2022 can no longer drive the E2E test builds, and building MSBuild at tip of main now demands VS >= 18.6 that the hosted image doesn't provide. The vs/18/stable channel currently provides VS 18.8, which satisfies MSBuild's >= 18.6 requirement.

Testing / validation

These failures reproduce directly on the project's PR-CI: prior to this change the VS2022 E2E job and the MSBuild-repo E2E job fail, while the VS 2026 E2E job passes. This PR's own CI run provides the end-to-end confirmation that the updated jobs succeed.

The .NET 10 SDK (DotNetVersion '10.x') no longer supports VS2022, so the
"E2E Tests using VS" job that installed VS2022 fails.

- Remove the VS2022 E2E job.
- Promote the former VS 2026 job (vs/18/stable) to be the canonical
  "E2E Tests using VS" job.
- Install VS in the "tip of MSBuild repo" job: dotnet/msbuild's bootstrap
  build requires VS >= 18.6, which build.cmd locates via vswhere and the
  hosted image no longer provides.
@dfederm
David Federman (dfederm) enabled auto-merge (squash) July 17, 2026 21:08
@dfederm
David Federman (dfederm) merged commit 07fbbab into main Jul 17, 2026
7 checks passed
@dfederm
David Federman (dfederm) deleted the dfederm/fix-msbuildcache-e2e-vs-jobs branch August 6, 2026 22:41
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.

2 participants