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.