TECH Signal 165
Rx.NET 7.0 Moves WPF, Windows Forms, UWP, and Windows Runtime Integrations Into Separate NuGet Packages
Rx.NET 7.0 splits WPF, Windows Forms, UWP, and Windows Runtime integrations out of the main System.Reactive package into four dedicated NuGet packages, so self-contained and Native AOT deployments no longer drag in unused Windows UI frameworks.
For teams shipping self-contained or AOT-compiled .NET apps, the practical change is a deployment size drop on apps that do not use the Windows UI integrations from Rx.NET. Adopters on .NET 8 or newer can upgrade without source changes if they don't use the affected integrations; the four Windows UI integrations are gated behind separate NuGet packages now, with an analyzer flagging code that needs them. The release also narrows the supported runtime matrix by dropping .NET 6 and .NET 7.
Written by elseif from the cluster below · every claim links back to a sourceThe three things worth knowing
Self-contained or Native AOT builds referencing System.Reactive with a Windows-specific TFM previously pulled in full WPF and Windows Forms frameworks, adding up to roughly 90 MB; the package split removes that overhead when those integrations are not used.
Projects that rely on WPF, Windows Forms, UWP, or Windows Runtime integration must add one of the new packages, System.Reactive.Wpf, System.Reactive.Windows.Forms, System.Reactive.Uwp, or System.Reactive.WindowsRuntime, and an analyzer included with System.Reactive 7.0 helps flag the affected source code.
Rx.NET 7.0 also drops support for .NET 6 and .NET 7, keeps the old UI APIs in runtime assemblies for binary compatibility with precompiled 6.1 components, and warns that the retained compatibility code for the packages.config format may eventually be removed.
THE CLUSTER
↗