3 ms·
Microsoft is just so bad at naming things. ".net framework" means versions of .net before version 5. Version 5 is of course also .net and it is a framework, but
by goto11 6y ago
Microsoft is just so bad at naming things. ".net framework" means versions of .net before version 5. Version 5 is of course also .net and it is a framework, but apparently it is not ".net framework", since this term refers to the versions up to 4.x.
Take "Enterprise Framework" (EF) and "EF Core". These are two independent ORM frameworks. From the names you would probably expect either that "EF Core" was the core of EF or that EF Core was a version of EF which ran on ".Net Core" (the previous name for .net 5). Neither is true - the frameworks are independent and both run on both .net 4.x and .net core/5. Apparently "core" just means "new incompatible version".
And how about ".net standard"? .Net Standard 2.0 was the standard API which was available with both .net 4.x and .net core/5. But from .net Standard 2.1, it was not compatible with .net framework anymore, which meant it wasn't standard anymore.
The actual technologies like C#, the BCL and EF Core are great, don't get me wrong, but the naming is so confusing.
- joshschreuder 6y agoThe EF Core thing might make a little more sense with some context. It originally started out only compatible with .NET Core (which was the successor to .NET Framework) Eventually Microsoft came to the conclusion that doing .NET Framework to .NET Core migration in tandem with an EF6 to EF Core migration would be a huge undertaking for legacy projects. So as of EF Core 2.1 they added support for .NET Framework 4.7.2+ so people could migrate that first, then move to .NET Core. Therefore you end up with the weirdness that it was .NET Core only, then eventually it wasn’t, despite being called EF Core. As for Standard.. can’t help but agree, it was a bit of a mess unless you really understood what it meant for API compatibility. But with .NET 5.0, Standard is pretty much gone for new code. See https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/ https://devblogs.microsoft.com/dotnet/the-future-of-net-stan.... So I think Microsoft is slowly learning and fixing up some mistakes made in the “Core” era
- goto11 6y agoI guess the whole .net core mess made sense in the beginning, it just got out of hand. As I understand it, core was conceived as an experimental alternative runtime which made it possible to run asp.net on non-windows platforms. It was not initially planned to be the replacement for full .net framework, so it didn't need to be fully backwards-compatible with the regular framework, which saved them some effort in the beginning. When the strategy changed to make core the next version of .net, the incompatibilites was so entrenched it was too late to solve, so we ended up with this enormous mess.