Learn what’s included in Prism including the documentation, code samples, and libraries. Additionally find out where to get the library and sample source code and the library NuGet packages.
For a list of the new features, bug fixes, and API changes, see the release notes.
This section describes how to install Prism. It involves the following three steps:
- Install system requirements.
- Download and extract the Prism source code and documentation.
- Compile and run the samples.
Prism was designed to run on the Microsoft Windows 8 desktop, Microsoft Windows 7, Windows Vista, or Windows Server 2008 operating system. WPF applications built using this guidance require the .NET Framework 4.5.
Before you can use the Prism Library, the following must be installed:
- Microsoft .NET Framework 4.5 or greater.
- Microsoft Visual Studio 2012 or greater.
- Xamarin for Visual Studio 3.11.1537 or greater.
The easiest way to download Prism source code, and documentation is to fork the Prism repository.
You can download the source code, documentation, and samples for the Prism library from the following links:
Optionally you can add the Prism assemblies directly to your projects by using the NuGet packages.
All samples use the Prism NuGet references so you can compile and run each solution directly.
As part of shipping the Prism Library as NuGet packages, the Prism Library projects were removed from the solutions of all sample projects. If you are a developer accustomed to stepping through the Prism Library code as you build your application, there are a couple of options:
- Add the Prism Library Projects back in. To do this, right-click the solution, point to Add, and then click Existing project. Select the Prism Library projects. Then, to prevent inadvertently building these, click Configuration Manager on the Build menu, and then clear the Build check box for all Prism Library projects in both the debug and release configurations.
- Set a breakpoint and step in. Set a break point in your application's bootstrapper, and then step in to a method within the base class (F11 is the typical C# keyboard shortcut for this). You may be asked to locate the Prism Library source code, but often, the full program database (PDB) file is available and the file will simply open. You may set breakpoints in any Prism Library project by opening the file and setting the breakpoint.
#NuGet Packages
These are the base packages for each platform, together with the Prism's Core assembly as a cross-platform PCL.
Platform | Assembly | Package | Version |
---|---|---|---|
PCL | Prism.dll | Prism.Core | |
WPF | Prism.Wpf.dll | Prism.Wpf | |
Xamarin.Forms | Prism.Forms.dll | Prism.Forms | |
Windows 10 UWP | Prism.Windows.dll | Prism.Windows |
Each supported IoC container has its own package assisting in the setup and usage of that container together with Prism. The assembly is named using this convention: Prism.Container.Platform.dll, e.g. Prism.Unity.Wpf.dll.
Following matrix shows the platform specific support currently available.
Package | Version | WPF | Win10 UWP | Xamarin.Forms |
---|---|---|---|---|
Prism.Unity (*) | X | X | ||
Prism.Unity.Forms | X | |||
Prism.Mef | X | |||
Prism.Autofac | X | X | ||
Prism.StructureMap | X | |||
Prism.Ninject | X | X |
(*) As Xamarin Forms also supports UWP now, adding Prism.Unity puts in some incorrect dependencies. Therefore we created a new Prism.Unity.Forms package.
Note that adding the container-specific package to your project, will also pull in the correct platform-specific package and the core PCL library. E.g. when you'd like to use Unity in a WPF project, add the Prism.Unity package and the rest will be pulled in as well.
To recapitulate the packages described above, this is the list of all assemblies added to your solution by Prism 6 depending on the container and platform used.
######Prism PCL
Assembly | Package |
---|---|
Prism.dll | Prism.Core |
######WPF
Assembly | Package |
---|---|
Prism.Wpf.dll | Prism.Wpf |
Prism.Unity.Wpf.dll | Prism.Unity |
Prism.Mef.Wpf.dll | Prism.Mef |
Prism.Autofac.Wpf.dll | Prism.Autofac |
Prism.StructureMap.Wpf.dll | Prism.StructureMap |
Prism.Ninject.Wpf.dll | Prism.Ninject |
######Xamarin.Forms
Assembly | Package |
---|---|
Prism.Forms.dll | Prism.Forms |
Prism.Unity.Forms.dll | Prism.Unity |
Prism.Ninject.Forms.dll | Prism.Ninject |
######Universal Windows Platform
Assembly | Package |
---|---|
Prism.Windows.dll | Prism.Windows |
Prism.Unity.Windows.dll | Prism.Unity |
Prism.Autofac.Windows.dll | Prism.Autofac |