Info source: GitHub

78.114393150631629917134177631836218363190411904219043190441904522000226212263126100
1.xSP1YesYesYesYesYesYesYesYesYesYesYesYesYes
2.0SP1YesYesYesYesYesYesYesYesYesYesYesYesYes
2.1ESUYesYes*YesYesYesYesYesYesYesYesYesYes
2.2SP1YesYesYesYesYesYesYesYesYesYesYesYesYes
3.0SP1YesYesYesYesYesYesYesYesYesYesYesYesYes
3.1ESUYesYes*YesYesYesYesYesYesYesYesYesYesYesYesYesYes
5ESUYesYes*YesYesYesYesYesYesYesYesYesYesYesYesYesYes
6YesYesYesYesYesYesYes
7YesYesYesYesYesYesYes
8YesYesYesYesYesYesYes
9YesYesYesYesYesYesYes

Notes

Information from the above table is completely copied from the GitHub link; in other words, it's about claimed compatibility, not actual compatibility. I have not yet tested actual compatibility.

Some projects, such as MesenCE, use .NET Core 6 for a separate "Windows 7 and 8" build, implying that .NET Core 6 is the last supported version on Windows 7 and 8.

Windows 8.0, 1507 (10240), 1511 (10586) have never been supported.

Support for .NET Core 2.1, 3.1 and 5 on 1703 (15063) is pulled on 2019/10/08 because that's when updates are no longer provided for that OS.

Prior to version 6, compatibility with each sub-version of Windows 10 and 11 isn't separately indicated; only a minimum version (1607 aka 14393) is given. It is assumed that support for each sub-version follows Microsoft's OS lifecycle policy.