I have searched everywhere for documentation that clearly describes what the expected behavior should be in the following scenario and there is none. The lack of a clearly defined behavior is leading to paradoxical discussions regarding the severity of packaging 6.0.0 out-of-box packages that reference out-of-box netstandard2.0 packages, where the severity is judged without considering what the correct behavior is when the out-of-box package is a referenced from a "library project" that uses netstandard2.0 TFM and the "entry point project" uses net6.0 (or any concrete target framework, but the problem is most visible now due to recent changes).
Tell people not to use my project from a netstandard2.0 TFM, and that netstandard2.0 is only supposed to be used by net4.8, and proceed to look like a hacky idiot who doesn't know what he is doing packaging open source projects
Remove support for netstandard2.0, or segregate netstandard2.0 into a special nuget package with a funny name like MyNugetPackage.Net48 that makes it abundantly clear the package only works right when used by net48 TFM.
Description
I have searched everywhere for documentation that clearly describes what the expected behavior should be in the following scenario and there is none. The lack of a clearly defined behavior is leading to paradoxical discussions regarding the severity of packaging 6.0.0 out-of-box packages that reference out-of-box netstandard2.0 packages, where the severity is judged without considering what the correct behavior is when the out-of-box package is a referenced from a "library project" that uses netstandard2.0 TFM and the "entry point project" uses net6.0 (or any concrete target framework, but the problem is most visible now due to recent changes).
In this scenario, System.Buffers has been "in-box" as part of the runtime libraries since .NET Core 2.1.
Reproduction Steps
EntryPoint.csproj
Program.cs
Common.csproj
Run
Known Workarounds