Search code examples
prismprism-5

Prism 6 compatibility with older versions


I have a solution with a main project that uses Prism 5 (WPF). This solution also contains many more projects that are Prism modules.

Now I have to create a new module, and I wonder if I can use Prism 6 only in that module, and it will be compatible with Prism 5 main project, or if I need to continue with Prism 5 in all the modules (or upgrade the entire solution to Prism 6, what is a really big work).

Thank you


Solution

  • You'll have to stick with Prism 5 or upgrade everything to Prism 6. There are some breaking changes between these versions:

    • Removed all types that were marked as "Obsolete" in Prism 5
    • Removed IView interface
    • Changed namespaces to remove Microsoft namespaces
    • Moved a number of types around to better organize and to get as much into a single Portable Class Library as possible
    • ViewModelLocator naming convention changes: [Name]View now requires [Name]ViewModel. No longer [Name]ViewViewModel

    Source: https://github.com/PrismLibrary/Prism/blob/master/README.md

    The namespace change alone is already enough to 'break' your application. You'll now have 2 different instances of e.g. EventAggregator (as they live in a different namespace).