The recording of the first ever ReactiveUI virtual conference is available on our YouTube Channel.

Installation

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 6 ReactiveUI CoreBadge
ReactiveUI.Fody FodyBadge
Unit Testing ReactiveUI.Testing TestBadge
WPF ReactiveUI.WPF WpfBadge
UWP ReactiveUI.Uwp UwpBadge
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}.UWP
        ├── ReactiveUI
    ├── {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

  • ReactiveUI
    • ReactiveUI is the base package that has the base platform implementations.
  • ReactiveUI.Events
  • ReactiveUI.WinForms
  • ReactiveUI.WPF
    • ReactiveUI.WPF this package has ReactiveUI platform specific extensions for WPF
    • Reactiveui.Events.WPF this package provides Observable-based events API for WPF UI controls/eventhandlers.
  • ReactiveUI.XamForms
  • ReactiveUI.Fody
    • ReactiveUI.Fody this package is a Fody extension that will generate RaisePropertyChange notifications for properties and ObservableAsPropertyHelper properties.

Development Packages

Pre-release nuget packages are uploaded to the Reactive UI GitHub Packages. You can use this feed to access hotfixes before they are released and to help the maintainers verify resolution to issues.

  1. Visit visualstudio consume
  2. Configure in the following address https://nuget.pkg.github.com/reactiveui/index.json