Skip to content

Add missing meta-packages and binary-free packages to PackageOverrides.txt#126751

Open
Copilot wants to merge 1 commit intomainfrom
copilot/add-additional-meta-packages
Open

Add missing meta-packages and binary-free packages to PackageOverrides.txt#126751
Copilot wants to merge 1 commit intomainfrom
copilot/add-additional-meta-packages

Conversation

Copy link
Copy Markdown
Contributor

Copilot AI commented Apr 10, 2026

PackageOverrides.txt drives NuGet pruning data for the shared framework. The original list was derived from managed binaries in the framework, missing packages that shipped no managed DLLs — meta-packages, RID-selector packages, and native-only packages.

Description

Found by restoring full dependency graphs for netcoreapp1.0, netcoreapp1.1, netstandard1.6, and netstandard2.0 test projects and diffing every resolved package against the existing list. Adds 27 entries:

Meta-packages (no binaries)

  • NETStandard.Library|2.0.3 — the netstandard umbrella package
  • Microsoft.NETCore.App|2.2.8 — the netcoreapp 1.x/2.x umbrella package
  • Microsoft.NETCore.Platforms|7.0.4 — RID graph only (runtime.json)
  • Microsoft.NETCore.Targets|5.0.0 — TFM targets only
  • Microsoft.NETCore.Jit|2.0.8, Microsoft.NETCore.Runtime.CoreCLR|2.0.8, Microsoft.NETCore.Windows.ApiSets|1.0.1 — RID-selector meta-packages for runtime components
  • Microsoft.NETCore.DotNetHost|8.0.25, Microsoft.NETCore.DotNetHostPolicy|8.0.25, Microsoft.NETCore.DotNetHostResolver|8.0.25 — host distribution meta-packages

Generic runtime.native.* root packages (RID selectors; no managed DLLs)

  • runtime.native.System, runtime.native.System.IO.Compression, runtime.native.System.Net.Http, runtime.native.System.Net.Security, runtime.native.System.Security.Cryptography, runtime.native.System.Security.Cryptography.Apple, runtime.native.System.Security.Cryptography.OpenSsl

Missing platform-specific Security.Cryptography entries (present for debian.8, fedora.23/24, opensuse.42.1; absent for newer distros added later)

  • debian.9, fedora.27, fedora.28, opensuse.42.3, ubuntu.18.04 — both System.Security.Cryptography and System.Security.Cryptography.OpenSsl variants

Excluded: Libuv (internal .NET Core 1.x native dep, never public surface), Microsoft.CodeAnalysis.*, Microsoft.DiaSymReader.Native (not part of the shared framework).

…s.txt

Found by creating test projects targeting netcoreapp1.0, netcoreapp1.1,
netstandard1.6, and netstandard2.0, restoring their full dependency graphs,
and diffing against the existing list.

Added packages (27 new entries):
- Microsoft.NETCore.App, Microsoft.NETCore.Platforms, Microsoft.NETCore.Targets (meta-packages)
- NETStandard.Library (meta-package)
- Microsoft.NETCore.DotNetHost/Policy/Resolver (host meta-packages)
- Microsoft.NETCore.Jit, Microsoft.NETCore.Runtime.CoreCLR, Microsoft.NETCore.Windows.ApiSets
- runtime.native.System* (7 generic native root packages absent from existing list)
- runtime.debian.9/fedora.27/fedora.28/opensuse.42.3/ubuntu.18.04 Security.Cryptography
  entries that were present for other platforms but missing for these

Agent-Logs-Url: https://github.com/dotnet/runtime/sessions/aa0d8c04-16a2-4afe-9e11-477c8a8b0c6d

Co-authored-by: ericstj <8918108+ericstj@users.noreply.github.com>
Copilot AI review requested due to automatic review settings April 10, 2026 16:02
Copilot AI review requested due to automatic review settings April 10, 2026 16:02
Comment on lines +3 to +5
Microsoft.NETCore.DotNetHostPolicy|8.0.25
Microsoft.NETCore.DotNetHostResolver|8.0.25
Microsoft.NETCore.DotNetHost|8.0.25
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

@jkoritzinsky I'm not sure it these make sense to include -- should they be pruned if they show up transitively in a new .NET 11+ project?

@ericstj ericstj marked this pull request as ready for review April 10, 2026 16:05
Copilot AI review requested due to automatic review settings April 10, 2026 16:05
Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Updates the shared framework NuGet pruning inputs by expanding PackageOverrides.txt to include packages that don’t ship managed DLLs (meta-packages, RID-selector packages, and native-only packages) but still appear in restored dependency graphs for older TFMs.

Changes:

  • Add missing meta-package entries (e.g., NETStandard.Library, Microsoft.NETCore.App, host meta-packages, RID-graph/targets packages).
  • Add generic runtime.native.* root RID-selector packages (no managed DLLs).
  • Fill in missing distro-specific System.Security.Cryptography* runtime-native package entries for additional Linux RIDs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants