[release/13.5] Support local tool manifests for AppHost DNX invocation - #19315
Conversation
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 5ef93c6b-3a80-4def-bd41-ca462a3d26b0
|
🚀 Dogfood this PR with:
curl -fsSL https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.sh | bash -s -- 19315Or
iex "& { $(irm https://raw.githubusercontent.com/microsoft/aspire/main/eng/scripts/get-aspire-cli-pr.ps1) } 19315" |
There was a problem hiding this comment.
Pull request overview
Note
Copilot could not run the full agentic suite for this review because it was automatically requested on a bot-authored pull request. Request a review from Copilot under Reviewers to retry with the full agentic suite. Improved support for bot-authored pull requests is coming soon.
Adds support for a new AspireCliInvocationMode=DnxPinned mode while adjusting DNX invocation behavior so Dnx can honor tool manifests (unversioned) and DnxPinned stays paired to the AppHost SDK.
Changes:
- Introduces
DnxPinnedas an explicit invocation mode and treats it as a DNX-forced mode in the resolver task. - Updates MSBuild targets to choose versioned vs unversioned DNX package reference based on invocation mode (
Dnxvs others). - Expands tests and updates docs to cover the new invocation mode and revised behavior.
Reviewed changes
Copilot reviewed 4 out of 4 changed files in this pull request and generated 4 comments.
| File | Description |
|---|---|
| tests/Aspire.Hosting.Sdk.Tests/AppHostSdkTargetsTests.cs | Adds coverage for manifest-aware (Dnx) vs pinned (DnxPinned) DNX behaviors and updates helpers accordingly. |
| src/Aspire.Hosting.Tasks/ResolveAspireCliInvocation.cs | Treats DnxPinned as a DNX-forced invocation mode. |
| src/Aspire.Hosting.AppHost/build/Aspire.Hosting.AppHost.in.targets | Switches DNX package reference between versioned and unversioned based on invocation mode; updates error message to include the configured mode. |
| docs/list-of-diagnostics.md | Updates ASPIRE011 description and documents the three invocation modes (Path, Dnx, DnxPinned). |
💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.
Tests selector (audit mode)The full test matrix and all jobs still run in audit mode. The tests and jobs below are what selective CI would run under enforcement. 43 / 100 test projects · 2 jobs, from 3 changed files. Selected test projects (43 / 100)
Selected jobs (2)
How these were chosen — grouped by what changed
🔧 show 41
📦 affected project 🧪 Job reasons
Selection computed for commit |
|
Retrying the failed CI jobs for this pull request from the CI run attempt. The rerun is being tracked in the rerun attempt. |
47e9191
into
release/13.5
|
✅ No documentation update needed. Step 5 branch: excluded → base_branch_is_release, head_branch_is_backport, title_release_prefix, body_backport_marker This PR is a backport (title Triggered signals (1): No docs PR created. Recommend checking whether a docs PR was already drafted for the original PR #19310. |
Backport of #19310 to release/13.5
/cc Damian Edwards (@DamianEdwards)
Customer Impact
Adds support for C# AppHost users to control the Aspire CLI version acquired/used by DNX via their dotnet tools manifest file.
Testing
Added tests covering the scenario.
Risk
Low.
Regression?
No, new feature in 13.5