Why does a LinqPad script targeting .NET 7 identify as .NET Core 3.1?
In Linqpad 7.7.15 (x64), when I run a script that dumps
AppDomain.CurrentDomain.SetupInformation.TargetFrameworkName it prints
.NETCoreApp,Version=v3.1 - but a new console project in VS targeting .NET 7 prints
I understand this can vary based on the
TargetFrameworkAttribute on an entrypoint assembly - but
LinqPad7.exe isn't a .NET assembly (I assume it has some custom CLR startup logic?) but even so, Linqpad runs user-queries in a separate process that I assume would always have the correct assembly attributes that match the selected .NET version in the toolbar.
What's also interesting is that despite having .NET Framework 4.8.1 installed, LinqPad 5 reports it's
.NETFramework, Version = v4.6 - and on a Windows Server 2012 R2 machine I have (also with .NET 4.8.1 installed), LinqPad 4 reports
...and LinqPad 4 and 5 seem to be having issues with
System.Net.ServicePointManager.SecurityProtocol, perhaps for a related reason?