[release/13.3] Stop forcing MSBuild server for Aspire CLI builds#17314
Merged
davidfowl merged 2 commits intoMay 20, 2026
Conversation
Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Backport to release/13.3 that removes Aspire CLI’s forced DOTNET_CLI_USE_MSBUILD_SERVER environment injection for dotnet build / dotnet run, allowing the .NET SDK to decide MSBuild server behavior (mitigating the Linux named-pipe timeout regression seen with SDK 10.0.300).
Changes:
- Removed MSBuild server environment injection from
DotNetCliRunnerforRunAsync(when building) andBuildAsync. - Updated
DotNetCliRunnerTeststo assert the CLI no longer injectsDOTNET_CLI_USE_MSBUILD_SERVER, including when configuration contains that key.
Show a summary per file
| File | Description |
|---|---|
| src/Aspire.Cli/DotNet/DotNetCliRunner.cs | Stops forcing DOTNET_CLI_USE_MSBUILD_SERVER for dotnet run/dotnet build, letting the SDK determine MSBuild server usage. |
| tests/Aspire.Cli.Tests/DotNet/DotNetCliRunnerTests.cs | Adjusts unit tests to ensure the runner does not inject DOTNET_CLI_USE_MSBUILD_SERVER in build/run scenarios. |
Copilot's findings
- Files reviewed: 2/2 changed files
- Comments generated: 0
Contributor
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 17314Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 17314" |
Contributor
|
❓ CLI E2E Tests unknown — 64 passed, 0 failed, 4 unknown (commit View all recordings
📹 Recordings uploaded automatically from CI run #26174669119 |
This was referenced May 20, 2026
joperezr
added a commit
that referenced
this pull request
May 21, 2026
…17343) * Fix Azure provisioning disabled input values (#17291) Accept server-provided values for disabled interaction inputs so dynamic Azure provisioning fields such as Location can be populated after selecting an existing resource group. Preserve local edits for enabled inputs. Co-authored-by: Damian Edwards <damian@damianedwards.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * [release/13.3] Stop forcing MSBuild server for Aspire CLI builds (#17314) * Stop forcing MSBuild server for CLI dotnet commands Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com> * Remove outdated override comment in DotNetCliRunner test Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com> --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com> * Skip log publish for WinGet/Homebrew installer jobs (#17134) These jobs only download already-built CLI archives and prepare WinGet manifests / Homebrew casks; they never run the repo build, so artifacts/log/$(_BuildConfig) is never produced. With enablePublishBuildArtifacts: true, the Arcade 1ES job template injects a Publish Logs pipelineArtifact output whose targetPath points at that empty/missing directory. 1ES path validation on that output fails the job (continueOnError on the CopyFiles step doesn't help because the failure is on the 1ES publish output itself). Set enablePublishBuildArtifacts: false on the WinGet/Homebrew installer stage in both the internal (azure-pipelines.yml) and unofficial (azure-pipelines-unofficial.yml) pipelines. There are no build logs to publish from these jobs. This fixes the Prepare Installers stage failures in the internal pipeline (e.g. dnceng/internal build 2969660). Co-authored-by: Ankit Jain <radical@gmail.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Bump patch version from 13.3.4 to 13.3.5 (#17315) Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: joperezr <13854455+joperezr@users.noreply.github.com> * Revert "Bump patch version from 13.3.4 to 13.3.5 (#17315)" This reverts commit 70b33bc. --------- Co-authored-by: aspire-repo-bot[bot] <268009190+aspire-repo-bot[bot]@users.noreply.github.com> Co-authored-by: Damian Edwards <damian@damianedwards.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: David Fowler <davidfowl@gmail.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: davidfowl <95136+davidfowl@users.noreply.github.com> Co-authored-by: Ankit Jain <radical@gmail.com> Co-authored-by: joperezr <13854455+joperezr@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.
Description
Backport of #17313 to release/13.3.
Stops the Aspire CLI from forcing
DOTNET_CLI_USE_MSBUILD_SERVERfordotnet run/dotnet buildinvocations so the .NET SDK can choose the MSBuild server behavior. This addresses Linux failures with .NET SDK 10.0.300 whereaspire runcan fail during AppHost build with a named-pipe timeout.Fixes #16849
Customer Impact
Customers using the Aspire CLI on Linux with .NET SDK 10.0.300 can hit a named-pipe timeout when running
aspire run, preventing the AppHost project from building/running.Testing
Updated
DotNetCliRunnertest coverage to verify the CLI no longer injectsDOTNET_CLI_USE_MSBUILD_SERVER; targetedAspire.Cli.TestsDotNetCliRunnerTestspassed locally.Risk
Low. The change is localized to CLI
dotnet run/dotnet buildprocess environment setup and removes an Aspire-forced MSBuild server override so the SDK chooses the behavior.Regression?
Yes - the linked issue reports this worked with SDK 10.0.204 and regressed with SDK 10.0.300 on Aspire CLI 13.2/13.3.
Checklist
<remarks />and<code />elements on your triple slash comments?aspire.devissue: