I’m working on a 4.8 Framework project and was wondering about FSharp.Core compatibility. Do I use 4.7.2 or 7.0.2? The 7.0.2 nuget package lists 4.8 as “Additional computed target framework(s),” but I’m unsure what that means.
TLDR; 7.0.2 is compatible and should be preferred.
Later versions of FSharp.Core are built to target netstandard2.0. After “.NET Core” split from “.NET Framework” (though now “.NET Core” is just called “.NET”), “.NET Standard” was created to be compatible with both. I’ve heard .NET Standard described as an “interface,” while .net framework 4.8 or .net 6 are the “classes” or concrete implementations. You can’t actually build an executable targeting .NET standard, because executable code has to have a concrete target, but libraries can target .NET Standard, and then be referenced from any compatible target. Here you can see which targets are compatible with netstandard2.0 and netstandard2.1.