Table of Contents

ReactiveUI packages are now signed by the dotnet foundation. Only builds from their infrastructure carry this seal. ReactiveUI uses Azure Dev Ops for our CI pipeline. Each platform has packages that extend the base ReactiveUI offerings for it's concerns. Installing the correct packages for the correct platform can be somewhat of a pain.

Platform ReactiveUI Package NuGet
.NET Standard ReactiveUI CoreBadge
ReactiveUI.Fody FodyBadge
.NET ReactiveUI CoreBadge
ReactiveUI.Fody FodyBadge
Unit Testing ReactiveUI.Testing TestBadge
WPF ReactiveUI.WPF WpfBadge
WinUI ReactiveUI.WinUI WinUiBadge
MAUI ReactiveUI.Maui MauiBadge
Windows Forms ReactiveUI.WinForms WinBadge
Xamarin.Forms ReactiveUI.XamForms XamBadge
Xamarin.Essentials ReactiveUI CoreBadge
AndroidX (Xamarin) ReactiveUI.AndroidX DroXBadge
Xamarin.Android ReactiveUI.AndroidSupport DroBadge
Xamarin.iOS ReactiveUI CoreBadge
Xamarin.Mac ReactiveUI CoreBadge
Tizen ReactiveUI CoreBadge
Blazor ReactiveUI.Blazor BlazBadge
Uno ReactiveUI.Uno UnoBadge
Uno WinUI ReactiveUI.Uno.WinUI UnoWinUiBadge
Avalonia Avalonia.ReactiveUI AvaBadge
Any ReactiveUI.Validation ValBadge

Note ReactiveUI has packages for older .NET versions. Those packages are unlisted from NuGet and not supported, but you can still use them at your own risk to have ReactiveUI running on good old devices, such as Lumias, Surface Hubs, Windows XP, etc. See Delisting of versions before 8.0.0 from NuGet blog post for more info.

Example

The following isn't an exhausitve example, as some solutions will follow a different project structure or only use a subset of the platforms, but it should be enough to help with which packages to install on each platform project. Note non-platform specific packages (Reactive.Fody etc.) can be installed on any platform; Fody is often included in the core library to automatically generate the INotifyPropertyChanged boilerplate needed in the ViewModels.

    .
    ├── {NAME}.Tests.Unit
        ├── ReactiveUI.Testing
    ├── {NAME}.Core (.NetStandard)
        ├── ReactiveUI
        ├── ReactiveUI.Fody
    ├── {NAME}.Droid
        ├── ReactiveUI.AndroidSupport
    ├── {NAME}.AndroidX
        ├── ReactiveUI.AndroidX
    ├── {NAME}.iOS
        ├── ReactiveUI
    ├── {NAME}.Mac
        ├── ReactiveUI
    ├── {NAME}.Forms (Xamarin Forms project)
        ├── ReactiveUI.XamForms
    ├── {NAME}.WPF
        ├── ReactiveUI.WPF
    ├── {NAME}.WindowsForms
        ├── ReactiveUI.WinForms
    ├── {NAME}.Tizen
        ├── ReactiveUI
    ├── {NAME}.Uno
        ├── ReactiveUI.Uno
    └── {NAME}.Avalonia
        └── Avalonia.ReactiveUI

Release Packages

ReactiveUI is published to NuGet.org when a release of the software is done. Get email notifications when new release is pushed over at reactiveui libraries

  • Splat
    • Splat is a library to make things cross-platform that support .NET Standard 2.0
  • Splat.Microsoft.Extensions.DependencyInjection
  • Splat.Micrsoft.Extensions.Logging
  • ReactiveUI
    • ReactiveUI is the base package that has the base platform implementations.
  • ReactiveUI.Blazor
    • ReactiveUI.Blazor this package has ReactiveUI platform specific extensions for Blazor
  • ReactiveUI.WinForms
    • ReactiveUI.WinForms this package has ReactiveUI platform specific extensions for Windows Forms
  • ReactiveUI.WPF
    • ReactiveUI.WPF this package has ReactiveUI platform specific extensions for WPF
  • ReactiveUI.XamForms
    • ReactiveUI.XamForms this package has ReactiveUI platform specific extensions for Xamarin Forms
  • ReactiveUI.Fody
    • ReactiveUI.Fody this package is a Fody extension that will generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties.