Looks like 3.0 drops support for .NET Standard? #2378
-
This is a pity, I was using this package in a Unity project and now I'm locked into v2.x. Are there specific features available in the .NET 6+ only 3.0 that make it better? Where can I read more about this decision? Or is it only #2098? |
Beta Was this translation helpful? Give feedback.
Replies: 4 comments 13 replies
-
.NET Standard barely supports SIMD intrinsics which means poor performance. In addition it adds a huge maintenance burden to library since API availability in that standard is much less than in .NET 6. The .NET Standard experiment at Microsoft was abandoned with the development of .NET 5 https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/ |
Beta Was this translation helpful? Give feedback.
-
I develop some cross-platform software components and we just migrated to ImageSharp after Microsoft announced they are dropping System.Drawing, so this stings a bit. However, I understand why you wouldn't want to support the highly constrained (and confusing) environment of .NET Standard 2.0. I guess we'll just have to internalize ImageSharp 2.3.0 assemblies for now... |
Beta Was this translation helpful? Give feedback.
-
@JimBobSquarePants Does using ILMerge to internalize your assemblies into our commercial software component invalidate your Apache License clauses? Internalizing your assemblies allows us to maintain .NET Standard 2.0 compatibility while still permitting our users to still use ImageSharp 3+. |
Beta Was this translation helpful? Give feedback.
-
I would like to add another vote for .NET standard support, it is not deprecated. I have a few customers who are in environments that consist of a mix of .NET framework and different .NET Core versions. And the thing is: .NET framework will be supported until 2030 (https://blog.inedo.com/dotnet/demystifying-lts/), which is longer than .NET 6.0 and even .NET 8.0. Furthermore, .NET Standard will be supported by future .NET versions as well. So it is ideal for users who need to consume libraries from a variety of .NET versions in their organization. If I speak for my customers, this flexibility in consuming from a variety of .NET versions is high on their wish list, but SIMD intrinsics really isn't on that wish list at all (not saying nobody is interested in SIMD intrinsics). Their absolute first priority is to have a System.Drawing alternative, not SIMD. We all would like .NET Framework to go away, but it is going to be around until 2030 at least, and who knows if they'll prolong it even. Also recommended reading: https://learn.microsoft.com/en-us/dotnet/standard/net-standard?tabs=net-standard-2-0. The recommendation for libraries is to use .NET standard 2.0 to allow consuming from both .NET framework and .NET 5.0+ versions. It also says explicitly: .NET Standard not deprecated. |
Beta Was this translation helpful? Give feedback.
.NET Standard barely supports SIMD intrinsics which means poor performance. In addition it adds a huge maintenance burden to library since API availability in that standard is much less than in .NET 6.
The .NET Standard experiment at Microsoft was abandoned with the development of .NET 5
https://devblogs.microsoft.com/dotnet/the-future-of-net-standard/