microsoft / microsoft/aspire

[TerminalHost] Publish TerminalHost as Native AOT

Open
#20,106 0 comments 0 reactions 1 assignee Claimed by @mitchdenny View on GitHub
Dominant language
C#
Stars
6.3k
Forks
991
Avg merge
2d 15h
Merged PRs (30d)
196

Description

### Is your feature request related to a problem? Please describe the problem.

TerminalHost is currently published as a managed executable and is also exposed through the `aspire-managed terminalhost` command. This adds runtime startup and deployment overhead for a small, frequently launched helper process.

### Describe the solution you’d like

Publish the standalone `Aspire.TerminalHost` executable using .NET Native AOT for every supported TerminalHost RID:

- `win-x64`
- `win-arm64`
- `linux-x64`
- `linux-arm64`
- `linux-musl-x64`
- `osx-x64`
- `osx-arm64`

Address any trimming/AOT compatibility issues in TerminalHost and its dependencies, update the TerminalHost packaging pipeline to consume the native artifacts, and preserve the existing command-line, control-channel, terminal, telemetry, and lifecycle behavior.

### Acceptance criteria

- TerminalHost publishes successfully with Native AOT for all supported RIDs.
- TerminalHost SDK packages contain and launch the native executable for their target RID.
- Existing TerminalHost unit and integration tests continue to pass against the published native artifact where applicable.
- The published executable does not require a separately installed .NET runtime.
- Any remaining use of the `aspire-managed terminalhost` arm is either removed or explicitly documented as an intentional fallback.

### Additional context

The project already ships as a per-RID tools payload, making it a good candidate for Native AOT. The expected changes should primarily be project/publish configuration plus targeted compatibility fixes.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.