Skip to content

Limit split SOS payloads to debugger packages - #6043

Merged
hoyosjs merged 2 commits into
dotnet:mainfrom
hoyosjs:sos-managed-payload-opt-in
Sep 17, 2026
Merged

hoyosjs merged 2 commits into
dotnet:mainfrom
hoyosjs:sos-managed-payload-opt-in

Conversation

@hoyosjs

@hoyosjs hoyosjs commented Sep 16, 2026

Copy link
Copy Markdown
Member

Follow-up to #6033. Make the split managed SOS.Extensions payload and its validation opt-in in sos-packaging.props, enabling it only for dotnet-sos and Microsoft.NETCore.SOS. dotnet-dump continues to consume the unchanged native SOS assets without requiring either managed payload build.

Manual package inspection confirmed that dotnet-dump packs successfully while both managed publish directories are unavailable and contains no SOS.Extensions assemblies, while dotnet-sos and Microsoft.NETCore.SOS retain both net462 and net8.0 payload layouts.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 58910d4b-200b-4437-a5bc-d02cfb42bc20
Copilot AI lite review requested due to automatic review settings September 16, 2026 23:14
@hoyosjs
hoyosjs requested a review from a team as a code owner September 16, 2026 23:14

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟢 Approval recommended

No unresolved issues remain, and packaging behavior matches the intended package-specific scope.

Pull request overview

This PR makes managed SOS.Extensions payload packaging opt-in for debugger packages while preserving native-only dotnet-dump packaging.

Changes:

  • Enables managed payloads for dotnet-sos and Microsoft.NETCore.SOS.
  • Gates payload collection and validation behind the opt-in property.
  • Leaves dotnet-dump unchanged.
File summaries
File Description
src/Tools/dotnet-sos/dotnet-sos.csproj Enables managed SOS payloads.
src/SOS/SOS.Package/SOS.Package.csproj Enables managed SOS payloads.
src/sos-packaging.props Adds conditional payload collection and validation.
Review details
  • Files reviewed: 3/3 changed files
  • Comments generated: 0
  • Review effort level: Lite

💡 Add a code-review agent skill for context-aware, tailored reviews. Learn more in the docs.

Keep managed payload items available to consumers while requiring them only for debugger packages. Remove dead managed PDB entries from the symbol package and document the native host layout synchronization requirements.

Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>

Copilot-Session: 58910d4b-200b-4437-a5bc-d02cfb42bc20
@hoyosjs
hoyosjs enabled auto-merge (squash) September 17, 2026 01:15
@hoyosjs
hoyosjs merged commit e233a17 into dotnet:main Sep 17, 2026
23 checks passed
@hoyosjs
hoyosjs deleted the sos-managed-payload-opt-in branch September 17, 2026 11:12
hoyosjs added a commit that referenced this pull request Sep 18, 2026
…6045)

Ports #6033 and #6043 to `release/stable`.

This hand-port preserves stable's `BuildX64Package` native layout, keeps
`SOS.Hosting` on `netstandard2.0`, and omits the deleted
`SOSPackageLayout.cs`. It splits `SOS.Extensions` into `net462` and
`net8.0` debugger payloads, updates native host probing and runtime
override coverage, and limits managed payload validation to `dotnet-sos`
and `Microsoft.NETCore.SOS` so `dotnet-dump` retains only its existing
native SOS assets.

Manual package inspection confirmed both debugger payload layouts,
native-only `dotnet-dump` packing with the managed publish directories
unavailable, native-only symbol package PDB paths, and the expected
failure when an opted-in package is missing a required payload.
@github-actions github-actions Bot locked and limited conversation to collaborators Oct 18, 2026
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants