# 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 )