4 ms·
.NET Standard specified a common API that was implemented by the .NET Core and .NET Framework runtimes, allowing library authors to easily target both platforms
by Jochim 4y ago
.NET Standard specified a common API that was implemented by the .NET Core and .NET Framework runtimes, allowing library authors to easily target both platforms.
.NET Standard solved a problem at the time but as elucidated in the article, it turned out not to be the right solution in the long term. .NET Framework is essentially in maintenance mode and won't be receiving new language features, so new .NET Standard versions don't make much sense given the overhead they introduce. Newer versions of .NET will still be able to build and run libraries targeting .NET Standard but no new .NET Standard versions will be released.
Greenfield projects now typically target what was previously called .NET Core. With the removal of .NET Standard, .NET Core was renamed to .NET to reflect the fact that it's the whole ecosystem as far as any future development is concerned.
- starik36 4y agoSo the bottom line is that .NET Core can't call a .NET Framework library. It must be converted to .NET Standard first. And despite deprecation (let's call it that), .NET 5, 6, 7, 8 will continue to support calling into .NET Standard libraries.
- matthewrobertso 4y agoI am not sure this is (still) correct - I am able to call into a .NET framework 4.8 library from .NET 7.
- int_19h 4y agoIf it's built against .NET 4.8 but only uses the API surface subset that corresponds to .NET Standard, that works - but then it's effectively a .NET Standard library with metadata not properly reflecting that.
- WorldMaker 4y agoSince .NET Fx 4.7 or 4.8 libraries consumed via NuGet are "assumed" .NET Standard 2.0 unless proven otherwise for maximal compatibility with old code.