-
Notifications
You must be signed in to change notification settings - Fork 756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Discuss: Drop support for older platforms #283
Comments
/cc @anpete @natemcmaster for the EF take on this |
EF Core (and ASP.NET Core in general) supports net451 and netstandard1.3. I'm not aware of any plans to lift that to higher framework versions in the 1.x timeframe. |
@natemcmaster so if we cross-compile to |
Correct. Microsoft.EntityFrameworkCore doesn't target win8-level platforms. |
I have a lot of clients that are restricted to the .NET 4.0 framework as they have many 1000's of Windows XP systems which need supporting; removing support for things like RX would have a major impact on these clients; while I agree RX should move forward it should be in a major that supports older platforms like Windows XP and if RX is to move to core or a cross platform implementation this is infact a new product and not a new version. |
@grahamehorner they can still use the current version of rx on their 1000's of XP systems no? |
I have not followed net core/standard etc closely, not at all in fact. Will WPF be ported to / be compatible with NET Standard 1.4? |
What you propose is the opposite of what we did with the Rx and Ix 3.0 release, and we did this after months of discussions with various parts of Microsoft to ensure we did things smoothly. It was not a decision made lightly, and while we did talk about forking the project that was something talked about with caution, as we wanted to avoid unnecessary fragmentation. Dropping support for platforms over time that are no longer supported by the upstream authors is part of the natural cycle of software things. Whether the owners of the platforms are Microsoft, Node, or Apple, we need to draw a line in the sand. We're not removing the existing versions of libraries from NuGet, for those who want to continue to use those releases. Did you know that Rx and Ix has the ability to build against .NET 3.5? And Silverlight 5? And Windows Phone 7? We're carrying around this sort of accumulated Personally, I'm fine with using major versions as the opportunity to introduce major architectural changes as long as we call these out long in advance, just like this. We've learned a lot from feedback about the 3.0 release that we've incorporated into 3.1.
There are various technical reasons why WPF cannot be ported to .NET Core - but that's not something I have control over, so I won't speak for that team in any official capacity. You'd have to look at projects like Avalonia if you want a cross-platform UI framework that targets .NET Standard. |
@shiftkey My question is not about x-plat UI. I'm wondering if dropping support means that WPF-stuff will not be able to use future versions of Rx. |
The WPF dependency is isolated to the System.Reactive.Windows.Threading package, which depends on I'm not quite across all the .NET Standard 2.0 changes, but if .NET Framework 4.6.1 is a valid implementation of .NET Standard 2.0, then these platform-specific libraries can target Just had a look at the stats on NuGet - in it's lifetime Rx-WPF (the old package name for 2.x) has 86k downloads, and System.Reactive.Windows.Threading already has 28k downloads, despite only being out for a few months - so that's cool! |
Basically, it's like this... we'll be shipping a You can see the table here: https://docs.microsoft.com/en-us/dotnet/articles/standard/library#net-platforms-support That means that UWP, Xamarin, NET 4.5.1, etc are all fully supported. For WinRT-specific optimizations, we would create a UWP-specific package for those. |
@shiftkey You say I can build latest Rx for .NET 3.5? |
Not the latest source - this was more of an interesting footnote that I came across. While the 2.x branch was able to be compiled against .NET 3.5, I don't believe it was intended to be supported.
Roughly speaking, you can do this:
You may see some build errors about missing targeting packs - I'll leave resolving those as an exercise for the reader.
Supporting all the various versions of .NET is a non-trivial amount of work, even for something as specific as Rx.NET. Deprecating support for platforms once their usage falls below a certain threshold is often necessary, and I highly recommend upgrading to get the benefits that are there in recent updates to .NET. |
I can try 2.2.5. |
I have no understanding about why you're still on .NET 3.5, but due to having a limited amount of time to work on this project I have no intentions to add support for .NET 3.5. Apologies. |
Very simple. Windows 7 has .NET 3.5 and doesn't require any additional installations. |
@NN--- unfortunately, as we are looking forward, we cannot keep .NET 3.5 alive for various reasons including the lack of the standardized TPL which was introduced in .NET 4.0 and we use Task extensively moving forward. We are sorry for the inconvenience. |
@martinwoodward I understand. |
This has been done for Rx in the v4.0 alpha's on the MyGet feed |
In general, Ix and Rx (though mostly Rx) have support for a wide variety of platforms, including
win8
,wp8
,wpa81
, andnet45
. This leads to tremendous extra complexity as we seek to include features in later platforms.In some cases, the surface area was necessarily different as some types/features weren't available in "down-level" platforms, leading to a complex assembly versioning strategy in #205.
The question becomes, at what point can we drop support for < NET Standard 1.4? That would put us in a prime position to have a single binary that works across all target platforms with extra functionality for UWP or Xamarin to support specific UI threading concepts.
My proposal would be for vNext (Rx/Ix 4.0), to raise the minimum requirements to .NET Framework version to 4.6.1, UWP and Xamarin. This is in-line with the .NET Standard 2.0 supported platforms here: https://blogs.msdn.microsoft.com/dotnet/2016/09/26/introducing-net-standard/
Pros:
Cons:
The text was updated successfully, but these errors were encountered: