Skip to content

Ecosystem positioning

MvvmAIO.Prism.SourceGenerators is an MIT-licensed, open-source Roslyn source generator package for Prism MVVM apps. It is maintained by the MvvmAIO community and is not affiliated with the Prism Library commercial product.

Who is this for?

AudienceWhy this package
Prism 8.1.97 (MIT) usersModern [ObservableProperty] / command generation without leaving BindableBase and DelegateCommand.
Prism 9 Community License usersSame developer experience with Prism 9 APIs; optional MvvmAIO.Prism.Bcl.Commands only for Prism 8.
Teams comparing MVVM toolkitsPrism-native semantics instead of swapping to ObservableObject / RelayCommand.

Comparison with CommunityToolkit.Mvvm

TopicCommunityToolkit.MvvmMvvmAIO.Prism.SourceGenerators
Base typeObservableObjectPrism.Mvvm.BindableBase (or generated [BindableBase])
CommandsRelayCommand / AsyncRelayCommandDelegateCommand / AsyncDelegateCommand
DI / navigationNot Prism-specific[Register], [RegisterForNavigation], [NavigationAware], [DialogAware]
LicenseMITMIT
Partial propertiesSupported (C# 14)Supported (C# 13+); PSG6001 suggests field → partial property migration

Use CommunityToolkit when you are not on Prism. Use this package when you want toolkit-style ergonomics without abandoning Prism types.

Prism commercial tooling (context only)

Prism 9+ ships under a dual Community / Commercial license. The Prism team has described commercial companion tooling (analyzers, source generators, and related productivity packages) for paid tiers.

MvvmAIO.Prism.SourceGenerators is an independent open-source alternative focused on:

  • Source generators only (no IL weaving)
  • Prism 8 and Prism 9 compatibility
  • Published on NuGet.org under MIT

This is not a statement about feature parity with any commercial product; compare release notes and documentation when choosing a stack.

Design principles

  1. Preserve Prism semantics — generated setters call SetProperty; commands use Prism command types.
  2. Multi-Roslyn matrix — one NuGet package selects the correct analyzer for your SDK.
  3. Documented diagnostics — every PSG rule is listed in Diagnostics.

Next steps

Released under the MIT License.

Released under the MIT License.