# KnowledgeBase for Prism Guidance * [Official Site](https://prismlibrary.com/) * Existing Mitech-wpf use `Prism 4.x`. The only official legacy reference is based on [Prism 6](https://prismlibrary.com/docs/wpf/legacy/Introduction.html) * Its using `MEF Ioc (Dependency Injection)`. The `MEF DI` was removed from Prism 7.x and above. Only `Unity Dependency Injection` supported form Prism 7.x onward * The latest Prism Library is `8.1` * Prism 8 support NET 5 and dotnet Framework. Prism 6.x and below only DotNet Framework 4.8 and below. ## Legacy Documentation - [Prism 5](https://www.microsoft.com/en-sg/download/details.aspx?id=42572) - Another nice [link](https://www.cnblogs.com/DoubleChen/p/3687305.html) ## Migration Guides - [Prism 4.1 to 5](https://learn.microsoft.com/en-us/previous-versions/msp-n-p/ff921144(v=pandp.40)) - `Microsoft.Practices.Prism.ViewModel` namespace deprecated. Please use `Microsoft.Practices.Prism.Mvvm` - The `BindableBase` class replaces the `NotificationObject` class. - EventAggregator Namespace and API Changes. **NEW** `Prism.PubSubEvents` namespace - Regions Namespace API Changes - `UriQuery` class was replaced with the `NavigationParameters` - Namespace changes ```cs using Microsoft.Practices.Prism.ViewModel; // change to using Microsoft.Practices.Prism.Mvvm; using Microsoft.Practices.Prism.Mvvm.Desktop; using Microsoft.Practices.Prism.ShareInterfaces; ``` - [Prism 5 to 6](https://github.com/PrismLibrary/Prism/wiki/Release-Notes---6.0.0) - Breaking Changes - Removed `Microsoft.Practices` from all namespaces - Created new xmlns namespace `http://prismlibrary.com/` - [Prism 6 to 8](https://prismlibrary.com/docs/wpf/converting-from-6.html) - Bootstrapper class need to move to Application class - use `xmlns:prism="http://prismlibrary.com/"` - [Prism 7.1](https://brianlagunas.com/whats-new-prism-7-1/) - **BIG** changes. [Release Notes](https://github.com/PrismLibrary/Prism/releases/tag/v7.1.0) - No longer be shipping or supporting MEF for WPF - New `Prism.IoC` namespace - For `Prism.WPF`, introduced new `PrismApplication` base class. `Bootstrapper` class deprecated. - [Prism 7 to 8](https://prismlibrary.com/docs/wpf/converting-from-7.html) - [Release Notes](https://github.com/PrismLibrary/Prism/releases/tag/v8.0.0.1909) - AutoWireViewModel is now default to true `prism:ViewModelLocator.AutoWireViewModel="True"` - Removed `ILoggerFacade`. Use `Prism.Plugin.Logging` ## Online Tutorial - [Prism 6 Unity - VS2015](https://www.c-sharpcorner.com/article/getting-started-mvvm-pattern-using-prism-library-in-wpf/) ## Tutorials - [View-ViewModel](./view-viewmodel.md)