DcpOptions.CliPath and DashboardPath resolve to Linux package path although running on Windows
- Dominant language
- C#
- Stars
- 6.3k
- Forks
- 991
- Avg merge
- 2d 15h
- Merged PRs (30d)
- 196
Description
### Is there an existing issue for this?
- [x] I have searched the existing issues
### Describe the bug
I'm starting my AppHost inside of Visual Studio on a Windows machine.
`DcpOptions.CliPath` and `DcpOptions.DashboardPath` are resolving to the path where the linux packages are stored, but still remain the `.exe` extension.
The resolved path with `linux` contain the Linux binaries (without the `.exe`) extension.
However the path should be `D:\packages\nuget\aspire.hosting.orchestration.win-x64\13.5.3\tools\dcp.exe`
When changing it to the correct path inside the VS debugger, I can still run everything fine.
If I don't change it, the Exception in Line 49 will be thrown at a later stage.
### Expected Behavior
The path resolve to the correct `windows` packages.
### Steps To Reproduce
This is my AppHost.csproj
```xml
true
Exe
net10.0
enable
enable
true
win-x64
true
```
Directory.Packages.props
```xml
true
```
### Exceptions (if any)
The Aspire orchestration component is not installed at "D:\packages\nuget\aspire.hosting.orchestration.linux-x64\13.5.3\tools\dcp.exe". The application cannot be run without it.
### Aspire doctor output
```plain
Überprüfung der Aspire-Umgebung
===============================
Aspire
⚠️ Aspire CLI version 13.5.3 (channel: stable) is out of date. Latest version is 13.5.4 (channel: stable)
Run 'aspire update' to update Aspire CLI.
✅ Developer Control Plane (DCP) connection health checks succeeded
.NET-SDK
✅ .NET 10.0.401 installed (x64)
Containerruntime
⚠️ Docker: installed but not running
Start Docker Desktop
✅ Podman v6.1.0: running (configured via ASPIRE_CONTAINER_RUNTIME=podman) ← active
Umgebung
✅ Operating system: Windows 10.0.26200.0
✅ HTTPS development certificate is trusted
⚠️ HTTPS development certificate has an older version (v5, v4)
Run 'aspire certs clean' to remove all certificates, then run 'aspire certs trust' to create and trust a
new one.
See: https://aka.ms/aspire-prerequisites#dev-certs
Details:
Older certificate versions (< v4) may not support all certificate trust scenarios.
Development Tools
⚠️ VS Code is installed, but the Aspire extension is not installed
Install the Aspire extension from the VS Code Marketplace for an integrated Aspire experience.
See: https://aka.ms/aspire/vscode-extension
Zusammenfassung: 5 erfolgreich, 4 Warnungen, 0 fehlgeschlagen
For detailed prerequisites: https://aka.ms/aspire-prerequisites
Aspire CLI Installations
========================
╭─────────────────────────────────────┬────────────────────────────────────┬──────────────┬──────────────┬─────────────╮
│ Path │ Version │ Channel │ Route │ PATH status │
├─────────────────────────────────────┼────────────────────────────────────┼──────────────┼──────────────┼─────────────┤
│ C:\Users\xxx\AppData\Local\ │ 13.5.3+b5f143315ffb6968ea939a99787 │ stable │ (unknown) │ active │
│ Microsoft\WinGet\Packages\Microsoft │ 97a5b20e4c688 │ │ │ │
│ .Aspire_Microsoft.Winget.Source_8we │ │ │ │ │
│ kyb3d8bbwe\aspire.exe (current) │ │ │ │ │
│ C:\Users\xxx\.aspire\bin\as │ (not probed) │ (not probed) │ (not probed) │ not on PATH │
│ pire.exe │ │ │ │ │
╰─────────────────────────────────────┴────────────────────────────────────┴──────────────┴──────────────┴─────────────╯
```
### Anything else?
_No response_
Contributor guide
Research direction
Start by tracing how DcpOptions.CliPath and DcpOptions.DashboardPath are resolved for the AppHost project, using the win-x64 RuntimeIdentifier and AspireUseCliBundle settings shown in the issue. Compare the selected package path with the linux-x64 and win-x64 orchestration packages. Done means a Windows AppHost resolves the Windows package and can launch dcp.exe without debugger path changes.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- csharp
- Domain
- tooling
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Active
- Clarity
- Mostly clear
- Newbie friendliness
- 58/100